summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-07-26 18:27:24 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-07-26 18:57:38 +0900
commit365a322f01b3d0d4c715c5eda8d1757b70ce5373 (patch)
tree3c930dd09743dda5504660a60fc1a5e74dfad9b1
parent4b145afcfe1c8763d9128d20ef08eb0cadc2ea73 (diff)
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).
-rw-r--r--src/lib/edje/edje_util.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 887e820..3a4291b 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -3906,7 +3906,7 @@ _edje_object_efl_container_content_remove(Eo *obj EINA_UNUSED, Edje *ed, Evas_Ob
3906 if ((eud->type == EDJE_USER_SWALLOW) && (eud->u.swallow.child == obj_swallow)) 3906 if ((eud->type == EDJE_USER_SWALLOW) && (eud->u.swallow.child == obj_swallow))
3907 { 3907 {
3908 _edje_user_definition_free(eud); 3908 _edje_user_definition_free(eud);
3909 return EINA_FALSE; 3909 return EINA_TRUE;
3910 } 3910 }
3911 3911
3912 _edje_real_part_swallow_clear(ed, rp); 3912 _edje_real_part_swallow_clear(ed, rp);
@@ -3971,9 +3971,6 @@ _edje_object_efl_part_part(Eo *obj, Edje *ed, const char *part)
3971 3971
3972 if ((!ed) || (!part)) return NULL; 3972 if ((!ed) || (!part)) return NULL;
3973 3973
3974 /* Need to recalc before providing the object. */
3975 _edje_recalc_do(ed);
3976
3977 rp = _edje_real_part_recursive_get(&ed, part); 3974 rp = _edje_real_part_recursive_get(&ed, part);
3978 if (!rp) return NULL; 3975 if (!rp) return NULL;
3979 3976