diff --git a/src/lib/edje/edje_textblock_styles.c b/src/lib/edje/edje_textblock_styles.c index c496ce2ba4..b294731845 100644 --- a/src/lib/edje/edje_textblock_styles.c +++ b/src/lib/edje/edje_textblock_styles.c @@ -291,7 +291,7 @@ _edje_textblock_style_member_add(Edje *ed, Edje_Style *stl) Edje_Style_Tag *tag; Eina_List *l; - if (!stl) return ; + if (!stl) return; EINA_LIST_FOREACH(stl->tags, l, tag) { @@ -300,6 +300,21 @@ _edje_textblock_style_member_add(Edje *ed, Edje_Style *stl) } } +static inline void +_edje_textblock_style_member_del(Edje *ed, Edje_Style *stl) +{ + Edje_Style_Tag *tag; + Eina_List *l; + + if (!stl) return; + + EINA_LIST_FOREACH(stl->tags, l, tag) + { + if (tag->text_class) + _edje_text_class_member_del(ed, tag->text_class); + } +} + void _edje_textblock_styles_add(Edje *ed, Edje_Real_Part *ep) { @@ -340,53 +355,15 @@ _edje_textblock_styles_del(Edje *ed, Edje_Part *pt) desc = (Edje_Part_Description_Text *)pt->default_desc; style = edje_string_get(&desc->text.style); - if (style) - { - Eina_List *l; - - EINA_LIST_FOREACH(ed->file->styles, l, stl) - { - if ((stl->name) && (!strcmp(stl->name, style))) break; - stl = NULL; - } - } - if (stl) - { - Edje_Style_Tag *tag; - Eina_List *l; - - EINA_LIST_FOREACH(stl->tags, l, tag) - { - if (tag->text_class) - _edje_text_class_member_del(ed, tag->text_class); - } - } + stl = _edje_textblock_style_search(ed, style); + _edje_textblock_style_member_del(ed, stl); for (i = 0; i < pt->other.desc_count; ++i) { desc = (Edje_Part_Description_Text *)pt->other.desc[i]; style = edje_string_get(&desc->text.style); - if (style) - { - Eina_List *l; - - EINA_LIST_FOREACH(ed->file->styles, l, stl) - { - if ((stl->name) && (!strcmp(stl->name, style))) break; - stl = NULL; - } - } - if (stl) - { - Edje_Style_Tag *tag; - Eina_List *l; - - EINA_LIST_FOREACH(stl->tags, l, tag) - { - if (tag->text_class) - _edje_text_class_member_del(ed, tag->text_class); - } - } + stl = _edje_textblock_style_search(ed, style); + _edje_textblock_style_member_del(ed, stl); } }