hermet pushed a commit to branch master.

commit 7ee2afa2025d815df25c62332ca5976a29e6050a
Author: ChunEon Park <[email protected]>
Date:   Tue Aug 27 00:29:45 2013 +0900

    elementary/widgets - set parents before widget constructs their body.
    
    This avoids unnecessary setups again when obj <-> sub has connected.
---
 src/lib/elc_ctxpopup.c            | 4 ++--
 src/lib/elc_fileselector.c        | 3 +--
 src/lib/elc_fileselector_button.c | 4 ++--
 src/lib/elc_fileselector_entry.c  | 4 ++--
 src/lib/elc_hoversel.c            | 5 +++--
 src/lib/elc_multibuttonentry.c    | 4 ++--
 src/lib/elc_player.c              | 4 ++--
 src/lib/elm_access.c              | 3 +--
 src/lib/elm_actionslider.c        | 4 ++--
 src/lib/elm_box.c                 | 3 ++-
 src/lib/elm_bubble.c              | 4 ++--
 src/lib/elm_calendar.c            | 4 ++--
 src/lib/elm_check.c               | 4 ++--
 src/lib/elm_clock.c               | 4 ++--
 src/lib/elm_colorselector.c       | 4 ++--
 src/lib/elm_conform.c             | 4 +---
 src/lib/elm_datetime.c            | 4 ++--
 src/lib/elm_dayselector.c         | 4 ++--
 src/lib/elm_diskselector.c        | 4 ++--
 src/lib/elm_entry.c               | 4 ++--
 src/lib/elm_flip.c                | 4 ++--
 src/lib/elm_flipselector.c        | 4 ++--
 src/lib/elm_frame.c               | 4 ++--
 src/lib/elm_gengrid.c             | 4 ++--
 src/lib/elm_genlist.c             | 4 ++--
 src/lib/elm_gesture_layer.c       | 4 ++--
 26 files changed, 50 insertions(+), 52 deletions(-)

diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index a80acc6..ed5c6f8 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -1129,6 +1129,8 @@ _elm_ctxpopup_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set
        (obj, "ctxpopup", "base", elm_widget_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -1229,8 +1231,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c
index bac850e..7dca765 100644
--- a/src/lib/elc_fileselector.c
+++ b/src/lib/elc_fileselector.c
@@ -829,6 +829,7 @@ _elm_fileselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
    elm_widget_can_focus_set(obj, EINA_FALSE);
 
    priv->expand = !!_elm_config->fileselector_expand_enable;
@@ -976,8 +977,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elc_fileselector_button.c 
b/src/lib/elc_fileselector_button.c
index 2a7b52e..6036975 100644
--- a/src/lib/elc_fileselector_button.c
+++ b/src/lib/elc_fileselector_button.c
@@ -173,6 +173,8 @@ _elm_fileselector_button_smart_add(Eo *obj, void *_pd, 
va_list *list EINA_UNUSED
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->window_title = eina_stringshare_add(DEFAULT_WINDOW_TITLE);
    if (getenv("HOME")) priv->fsd.path = eina_stringshare_add(getenv("HOME"));
    else priv->fsd.path = eina_stringshare_add("/");
@@ -234,8 +236,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elc_fileselector_entry.c b/src/lib/elc_fileselector_entry.c
index 2f62be7..fa7dd44 100644
--- a/src/lib/elc_fileselector_entry.c
+++ b/src/lib/elc_fileselector_entry.c
@@ -356,6 +356,8 @@ _elm_fileselector_entry_smart_add(Eo *obj, void *_pd, 
va_list *list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set
        (obj, "fileselector_entry", "base", elm_widget_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -430,8 +432,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c
index ff64d85..cdc01e2 100644
--- a/src/lib/elc_hoversel.c
+++ b/src/lib/elc_hoversel.c
@@ -225,10 +225,13 @@ _elm_hoversel_smart_add(Eo *obj, void *_pd __UNUSED__,
 {
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    elm_widget_mirrored_automatic_set(obj, EINA_FALSE);
 
    evas_object_smart_callback_add(obj, "clicked", _on_clicked, obj);
 
+   //What are you doing here?
    eo_do(obj, elm_wdg_theme(NULL));
 }
 
@@ -297,8 +300,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c
index 3326f86..b09c712 100644
--- a/src/lib/elc_multibuttonentry.c
+++ b/src/lib/elc_multibuttonentry.c
@@ -1453,6 +1453,8 @@ _elm_multibuttonentry_smart_add(Eo *obj, void *_pd, 
va_list *list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set
        (obj, "multibuttonentry", "base", elm_widget_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -1610,8 +1612,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI Evas_Object *
diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
index 38d02b4..b52c418 100644
--- a/src/lib/elc_player.c
+++ b/src/lib/elc_player.c
@@ -632,6 +632,8 @@ _elm_player_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    char buf[256];
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    Elm_Player_Smart_Data *priv = _pd;
 
    if (!elm_layout_theme_set(obj, "player", "base", elm_widget_style_get(obj)))
@@ -724,8 +726,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 #else
    eo_error_set(obj);
 #endif
diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c
index 9932062..684b9e3 100644
--- a/src/lib/elm_access.c
+++ b/src/lib/elm_access.c
@@ -38,6 +38,7 @@ _elm_access_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
 {
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
    elm_widget_can_focus_set(obj, _elm_config->access_mode);
 }
 
@@ -1156,8 +1157,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do_super(obj, MY_CLASS, eo_constructor());
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI Evas_Object *
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
index 34c3750..a579fe5 100644
--- a/src/lib/elm_actionslider.c
+++ b/src/lib/elm_actionslider.c
@@ -396,6 +396,8 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->enabled_position = ELM_ACTIONSLIDER_ALL;
 
    priv->drag_button_base =
@@ -444,8 +446,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c
index 59def43..1c2b01f 100644
--- a/src/lib/elm_box.c
+++ b/src/lib/elm_box.c
@@ -408,6 +408,8 @@ _elm_box_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    evas_object_smart_callback_add(wd->resize_obj, SIG_CHILD_ADDED,
                                   _child_added_cb_proxy, obj);
    evas_object_smart_callback_add(wd->resize_obj, SIG_CHILD_REMOVED,
@@ -462,7 +464,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_bubble.c b/src/lib/elm_bubble.c
index c200037..70169bf 100644
--- a/src/lib/elm_bubble.c
+++ b/src/lib/elm_bubble.c
@@ -203,6 +203,8 @@ _elm_bubble_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->pos = ELM_BUBBLE_POS_TOP_LEFT; //default
 
    elm_widget_can_focus_set(obj, EINA_FALSE);
@@ -255,8 +257,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index aca0b09..00741b6 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -950,6 +950,8 @@ _elm_calendar_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->first_interval = 0.85;
    priv->year_min = 2;
    priv->year_max = -1;
@@ -1185,8 +1187,6 @@ _constructor(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c
index bd2777e..26384aa 100644
--- a/src/lib/elm_check.c
+++ b/src/lib/elm_check.c
@@ -293,6 +293,8 @@ _elm_check_smart_add(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    edje_object_signal_callback_add
      (wd->resize_obj, "elm,action,check,on", "",
      _on_check_on, obj);
@@ -349,8 +351,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_clock.c b/src/lib/elm_clock.c
index 946e5c2..4424038 100644
--- a/src/lib/elm_clock.c
+++ b/src/lib/elm_clock.c
@@ -668,6 +668,8 @@ _elm_clock_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->cur.ampm = -1;
    priv->cur.seconds = EINA_TRUE;
    priv->cur.am_pm = EINA_TRUE;
@@ -823,8 +825,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 static void
diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c
index 8024f3e..ae030e9 100644
--- a/src/lib/elm_colorselector.c
+++ b/src/lib/elm_colorselector.c
@@ -1495,6 +1495,8 @@ _elm_colorselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set
        (obj, "colorselector", "palette", elm_object_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -1870,8 +1872,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c
index 534af16..3dd61bc 100644
--- a/src/lib/elm_conform.c
+++ b/src/lib/elm_conform.c
@@ -900,6 +900,7 @@ _elm_conformant_smart_add(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list EINA_UNU
 {
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
    elm_widget_can_focus_set(obj, EINA_FALSE);
 
    if (!elm_layout_theme_set
@@ -984,9 +985,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
-
    Elm_Conformant_Smart_Data *sd = _pd;
 
    top = elm_widget_top_get(obj);
diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c
index afd4aa2..6517588 100644
--- a/src/lib/elm_datetime.c
+++ b/src/lib/elm_datetime.c
@@ -799,6 +799,8 @@ _elm_datetime_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set(obj, "datetime", "base",
                              elm_widget_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -887,8 +889,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI const char *
diff --git a/src/lib/elm_dayselector.c b/src/lib/elm_dayselector.c
index 066c7a5..2e9fdb0 100644
--- a/src/lib/elm_dayselector.c
+++ b/src/lib/elm_dayselector.c
@@ -432,6 +432,8 @@ _elm_dayselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set(obj, "dayselector", "base", "dayselector"))
      CRITICAL("Failed to set layout!");
 
@@ -480,8 +482,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c
index ec8d2b0..ae5b345 100644
--- a/src/lib/elm_diskselector.c
+++ b/src/lib/elm_diskselector.c
@@ -1271,6 +1271,8 @@ _elm_diskselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
    Evas *evas;
    Evas_Object *blank, *edje;
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    evas = evas_object_evas_get(obj);
    evas_event_freeze(evas);
 
@@ -1485,8 +1487,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI Eina_Bool
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 91b4d30..5a3e8a7 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -2959,6 +2959,8 @@ _elm_entry_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->entry_edje = wd->resize_obj;
 
    priv->cnp_mode = ELM_CNP_MODE_MARKUP;
@@ -3272,8 +3274,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_flip.c b/src/lib/elm_flip.c
index 5e12d4a..ba2a074 100644
--- a/src/lib/elm_flip.c
+++ b/src/lib/elm_flip.c
@@ -1810,6 +1810,8 @@ _elm_flip_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->clip = evas_object_rectangle_add(evas_object_evas_get(obj));
    evas_object_static_clip_set(priv->clip, EINA_TRUE);
    evas_object_move(priv->clip, -49999, -49999);
@@ -1877,8 +1879,6 @@ _constructor(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI Eina_Bool
diff --git a/src/lib/elm_flipselector.c b/src/lib/elm_flipselector.c
index fd7b3ff..ddd930f 100644
--- a/src/lib/elm_flipselector.c
+++ b/src/lib/elm_flipselector.c
@@ -559,6 +559,8 @@ _elm_flipselector_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    if (!elm_layout_theme_set
        (obj, "flipselector", "base", elm_widget_style_get(obj)))
      CRITICAL("Failed to set layout!");
@@ -614,8 +616,6 @@ _constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_frame.c b/src/lib/elm_frame.c
index a4aba85..f9feb37 100644
--- a/src/lib/elm_frame.c
+++ b/src/lib/elm_frame.c
@@ -175,6 +175,8 @@ _elm_frame_smart_add(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    edje_object_signal_callback_add
      (wd->resize_obj, "elm,anim,done", "elm",
      _on_recalc_done, obj);
@@ -220,8 +222,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 286ba35..5d41657 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -2396,6 +2396,8 @@ _elm_gengrid_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
    evas_object_smart_member_add(priv->hit_rect, obj);
    elm_widget_sub_object_add(obj, priv->hit_rect);
@@ -2546,8 +2548,6 @@ _constructor(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI void
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 904b502..94d7109 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -4826,6 +4826,8 @@ _elm_genlist_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
    evas_object_smart_member_add(priv->hit_rect, obj);
    elm_widget_sub_object_add(obj, priv->hit_rect);
@@ -5015,8 +5017,6 @@ _constructor(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 static void
diff --git a/src/lib/elm_gesture_layer.c b/src/lib/elm_gesture_layer.c
index 4ceafaf..9e64e9e 100644
--- a/src/lib/elm_gesture_layer.c
+++ b/src/lib/elm_gesture_layer.c
@@ -3738,6 +3738,8 @@ _elm_gesture_layer_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
 {
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
+   elm_widget_sub_object_add(eo_parent_get(obj), obj);
+
    Elm_Gesture_Layer_Smart_Data *priv = _pd;
 
    priv->line_min_length =
@@ -3830,8 +3832,6 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
 {
    eo_do_super(obj, MY_CLASS, eo_constructor());
    eo_do(obj, evas_obj_type_set(MY_CLASS_NAME));
-
-   elm_widget_sub_object_add(eo_parent_get(obj), obj);
 }
 
 EAPI Eina_Bool

-- 

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

Reply via email to