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);

-- 


Reply via email to