elementary/layout - fix the layout to swallow contents again when theme is changed.
authorChunEon Park <hermet@hermet.pe.kr>
Thu, 26 Sep 2013 17:05:00 +0000 (02:05 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 26 Sep 2013 17:05:00 +0000 (02:05 +0900)
legacy/elementary/ChangeLog
legacy/elementary/NEWS
legacy/elementary/src/lib/elm_layout.c

index 947f1be..884807c 100644 (file)
 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.
index e7747ed..a974127 100644 (file)
@@ -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:
 
index 6c03511..b28704c 100644 (file)
@@ -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);