forked from enlightenment/efl
Edje: recalc edje before fetching the real part
Summary: There are many calls to `_edje_real_part_recursive_get`. Though, it is not guaranteed that the Edje object had instantiated all of the real parts. This change makes edje to always recalc before retrieving the real part. The D6364 patch raised a good point, but presented a local fix, where it seems that a global fix such as this is needed, instead. The local fix is removed in favor of this. Test suite still passes. ref T7057 @fix Test Plan: See T7057 Reviewers: devilhorns Subscribers: cedric, zmike, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6365
This commit is contained in:
parent
c9979ca4c0
commit
8f95b17f39
|
@ -2052,9 +2052,6 @@ _edje_efl_text_text_get(const Eo *obj EINA_UNUSED, 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;
|
||||
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
|
||||
|
@ -5221,6 +5218,8 @@ _edje_real_part_recursive_get(Edje **ed, const char *part)
|
|||
path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
|
||||
if (!path) return NULL;
|
||||
|
||||
_edje_recalc_do(*ed);
|
||||
|
||||
rp = _edje_real_part_recursive_get_helper(ed, path);
|
||||
|
||||
free(*path);
|
||||
|
|
Loading…
Reference in New Issue