forked from enlightenment/efl
edje: Avoid string duplication when possible.
Summary: Most use case the part name dosen't contain the recursive name so we don't have to go through expensive eina_string_split operation. Reviewers: smohanty, cedric, Hermet, raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12045
This commit is contained in:
parent
cac95313c7
commit
704d58d658
|
@ -5602,17 +5602,23 @@ _edje_real_part_text_text_source_description_get(Edje_Real_Part *ep, Edje_Real_P
|
||||||
Edje_Real_Part *
|
Edje_Real_Part *
|
||||||
_edje_real_part_recursive_get(Edje **ed, const char *part)
|
_edje_real_part_recursive_get(Edje **ed, const char *part)
|
||||||
{
|
{
|
||||||
Edje_Real_Part *rp;
|
if ((*ed)->collection && (*ed)->collection->alias)
|
||||||
char **path;
|
{
|
||||||
|
Edje_Real_Part *rp;
|
||||||
|
char **path;
|
||||||
|
|
||||||
path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
|
path = eina_str_split(part, EDJE_PART_PATH_SEPARATOR_STRING, 0);
|
||||||
if (!path) return NULL;
|
if (!path) return NULL;
|
||||||
|
|
||||||
rp = _edje_real_part_recursive_get_helper(ed, path);
|
rp = _edje_real_part_recursive_get_helper(ed, path);
|
||||||
|
|
||||||
free(*path);
|
free(*path);
|
||||||
free(path);
|
free(path);
|
||||||
return rp;
|
|
||||||
|
return rp;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _edje_real_part_get(*ed, part);;
|
||||||
}
|
}
|
||||||
|
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
|
|
Loading…
Reference in New Issue