diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 947f1beba2..884807c8a2 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1648,3 +1648,7 @@ 2013-09-21 Daniel Juyung Seo (SeoZ) * menu: added elm_menu_item_subitems_clear. + +2013-09-27 ChunEon Park (Hermet) + + * layout: fixed the layout to swallow the contents again when theme is changed. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index e7747edd25..a974127fb4 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -287,6 +287,7 @@ Fixes: * Spinner : change part name to access.text from access_text on default style. * Fix fileselector only send "selected" signal without selection when file path is typed on the path entry. * Fix spinner arrow key focus movement bug. + * Fix the layout to swallow the contents again when theme is changed. Removals: diff --git a/legacy/elementary/src/lib/elm_layout.c b/legacy/elementary/src/lib/elm_layout.c index 6c03511170..b28704c155 100644 --- a/legacy/elementary/src/lib/elm_layout.c +++ b/legacy/elementary/src/lib/elm_layout.c @@ -184,6 +184,23 @@ _parts_signals_emit(Elm_Layout_Smart_Data *sd) } } +static void +_parts_swallow_fix(Elm_Layout_Smart_Data *sd, Elm_Widget_Smart_Data *wd) +{ + Eina_List *l; + Elm_Layout_Sub_Object_Data *sub_d; + + EINA_LIST_FOREACH(sd->subs, l, sub_d) + { + if (sub_d->type == SWALLOW) + { + if (sub_d->part) + edje_object_part_swallow(wd->resize_obj, + sub_d->part, sub_d->obj); + } + } +} + static void _parts_text_fix(Elm_Layout_Smart_Data *sd) { @@ -263,13 +280,16 @@ static void _visuals_refresh(Evas_Object *obj, Elm_Layout_Smart_Data *sd) { + + Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS); + + _parts_swallow_fix(sd, wd); _parts_text_fix(sd); _parts_signals_emit(sd); _parts_cursors_apply(sd); eo_do(obj, elm_obj_layout_sizing_eval()); - Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS); edje_object_signal_callback_del(wd->resize_obj, "edje,change,file", "edje", _reload_theme);