summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hirt <hirt.danny@gmail.com>2018-06-22 12:46:40 +0300
committerDaniel Hirt <hirt.danny@gmail.com>2018-06-22 17:12:28 +0300
commit8f95b17f39cb87cb4627150b0761fc95376bd026 (patch)
tree15ea7a8600b45ca1ab282c88e0711aa304fde9db
parentc9979ca4c0496006147c9036d439c1840f14d76e (diff)
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
-rw-r--r--src/lib/edje/edje_util.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 98d6c78023..2de6354a6c 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -2052,9 +2052,6 @@ _edje_efl_text_text_get(const Eo *obj EINA_UNUSED, Edje *ed, const char *part,
2052 2052
2053 if ((!ed) || (!part)) return NULL; 2053 if ((!ed) || (!part)) return NULL;
2054 2054
2055 /* Need to recalc before providing the object. */
2056 _edje_recalc_do(ed);
2057
2058 rp = _edje_real_part_recursive_get(&ed, part); 2055 rp = _edje_real_part_recursive_get(&ed, part);
2059 if (!rp) return NULL; 2056 if (!rp) return NULL;
2060 if ((rp->type != EDJE_RP_TYPE_TEXT) || 2057 if ((rp->type != EDJE_RP_TYPE_TEXT) ||
@@ -5221,6 +5218,8 @@ _edje_real_part_recursive_get(Edje **ed, const char *part)
5221 path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0); 5218 path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
5222 if (!path) return NULL; 5219 if (!path) return NULL;
5223 5220
5221 _edje_recalc_do(*ed);
5222
5224 rp = _edje_real_part_recursive_get_helper(ed, path); 5223 rp = _edje_real_part_recursive_get_helper(ed, path);
5225 5224
5226 free(*path); 5225 free(*path);