edje: Remove invalid call to recalc in efl_part

What a mess... Assuming efl_part() had no side effect on the
object it took me hours to figure out that there was a wrong
call to _edje_recalc_do in the efl_part() function itself.
That was bad, and existed because efl_part() used to be
efl_content_get().

efl_part() should not have any side effect.

Also, fix a return value in content_remove.

Fixes T4214 (invalid redraw and crash in terminology).
This commit is contained in:
Jean-Philippe Andre 2016-07-26 18:27:24 +09:00
parent 4b145afcfe
commit 365a322f01
1 changed files with 1 additions and 4 deletions

View File

@ -3906,7 +3906,7 @@ _edje_object_efl_container_content_remove(Eo *obj EINA_UNUSED, Edje *ed, Evas_Ob
if ((eud->type == EDJE_USER_SWALLOW) && (eud->u.swallow.child == obj_swallow))
{
_edje_user_definition_free(eud);
return EINA_FALSE;
return EINA_TRUE;
}
_edje_real_part_swallow_clear(ed, rp);
@ -3971,9 +3971,6 @@ _edje_object_efl_part_part(Eo *obj, Edje *ed, const char *part)
if ((!ed) || (!part)) return NULL;
/* Need to recalc before providing the object. */
_edje_recalc_do(ed);
rp = _edje_real_part_recursive_get(&ed, part);
if (!rp) return NULL;