elementary/widget - don't call theme_set() until base widget is not created yet.
authorChunEon Park <hermet@hermet.pe.kr>
Fri, 3 Jan 2014 05:38:27 +0000 (14:38 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 3 Jan 2014 05:38:27 +0000 (14:38 +0900)
On the widget creation time, we should not set the theme in the widget infra.
This will cause the corruption of the theme_hook working since the widget is not setup yet.
Also the theme_set() will be applied twice each widget will set the themes right after base widget is created.

legacy/elementary/src/lib/elm_widget.c

index 14f4091..b1c5df5 100644 (file)
@@ -1094,9 +1094,11 @@ _elm_widget_sub_object_add(Eo *obj, void *_pd, va_list *list)
         th = elm_widget_theme_get(sobj);
         mirrored = elm_widget_mirrored_get(sobj);
 
-        if ((scale != pscale) || (!sdc->on_create && th != pth) ||
-            (!sdc->on_create && (pmirrored != mirrored)))
-          elm_widget_theme(sobj);
+        if (!sdc->on_create)
+          {
+             if ((scale != pscale) || (th != pth) || (pmirrored != mirrored))
+               elm_widget_theme(sobj);
+          }
 
         if (elm_widget_focus_get(sobj)) _parents_focus(obj);
      }