hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=ef94c9a6f1588e7ec6711ae4dd57a506a87353e2
commit ef94c9a6f1588e7ec6711ae4dd57a506a87353e2 Author: ChunEon Park <her...@hermet.pe.kr> Date: Fri Sep 27 02:05:00 2013 +0900 elementary/layout - fix the layout to swallow contents again when theme is changed. --- ChangeLog | 4 ++++ NEWS | 1 + src/lib/elm_layout.c | 22 +++++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 947f1be..884807c 100644 --- a/ChangeLog +++ b/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/NEWS b/NEWS index e7747ed..a974127 100644 --- a/NEWS +++ b/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/src/lib/elm_layout.c b/src/lib/elm_layout.c index 6c03511..b28704c 100644 --- a/src/lib/elm_layout.c +++ b/src/lib/elm_layout.c @@ -185,6 +185,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) { const Eina_List *l; @@ -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); --