Edje: recalc edje before fetching the real part
authorDaniel Hirt <hirt.danny@gmail.com>
Fri, 22 Jun 2018 09:46:40 +0000 (12:46 +0300)
committerMyoungwoon Roy, Kim <myoungwoon.kim@samsung.com>
Mon, 25 Jun 2018 08:37:40 +0000 (17:37 +0900)
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

src/lib/edje/edje_util.c

index 4476820..412e74d 100644 (file)
@@ -2202,9 +2202,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) ||