Elementary: replace eo_data_get for objects data referencing.
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Wed, 24 Apr 2013 11:41:37 +0000 (14:41 +0300)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Wed, 1 May 2013 08:04:09 +0000 (11:04 +0300)
126 files changed:
src/lib/elc_ctxpopup.c
src/lib/elc_fileselector.c
src/lib/elc_fileselector_button.c
src/lib/elc_fileselector_entry.c
src/lib/elc_hoversel.c
src/lib/elc_multibuttonentry.c
src/lib/elc_naviframe.c
src/lib/elc_player.c
src/lib/elc_popup.c
src/lib/elm_access.c
src/lib/elm_actionslider.c
src/lib/elm_bg.c
src/lib/elm_box.c
src/lib/elm_bubble.c
src/lib/elm_button.c
src/lib/elm_calendar.c
src/lib/elm_check.c
src/lib/elm_clock.c
src/lib/elm_colorselector.c
src/lib/elm_conform.c
src/lib/elm_datetime.c
src/lib/elm_dayselector.c
src/lib/elm_diskselector.c
src/lib/elm_entry.c
src/lib/elm_flip.c
src/lib/elm_flipselector.c
src/lib/elm_frame.c
src/lib/elm_gengrid.c
src/lib/elm_genlist.c
src/lib/elm_gesture_layer.c
src/lib/elm_glview.c
src/lib/elm_grid.c
src/lib/elm_hover.c
src/lib/elm_icon.c
src/lib/elm_image.c
src/lib/elm_index.c
src/lib/elm_interface_scrollable.c
src/lib/elm_inwin.c
src/lib/elm_label.c
src/lib/elm_layout.c
src/lib/elm_list.c
src/lib/elm_map.c
src/lib/elm_mapbuf.c
src/lib/elm_menu.c
src/lib/elm_panel.c
src/lib/elm_panes.c
src/lib/elm_photo.c
src/lib/elm_photocam.c
src/lib/elm_plug.c
src/lib/elm_prefs.c
src/lib/elm_progressbar.c
src/lib/elm_radio.c
src/lib/elm_scroller.c
src/lib/elm_segment_control.c
src/lib/elm_separator.c
src/lib/elm_slider.c
src/lib/elm_slideshow.c
src/lib/elm_spinner.c
src/lib/elm_thumb.c
src/lib/elm_toolbar.c
src/lib/elm_video.c
src/lib/elm_web.c
src/lib/elm_web2.c
src/lib/elm_widget.c
src/lib/elm_widget.h
src/lib/elm_widget_actionslider.h
src/lib/elm_widget_bg.h
src/lib/elm_widget_box.h
src/lib/elm_widget_bubble.h
src/lib/elm_widget_button.h
src/lib/elm_widget_calendar.h
src/lib/elm_widget_check.h
src/lib/elm_widget_clock.h
src/lib/elm_widget_colorselector.h
src/lib/elm_widget_conform.h
src/lib/elm_widget_ctxpopup.h
src/lib/elm_widget_datetime.h
src/lib/elm_widget_dayselector.h
src/lib/elm_widget_diskselector.h
src/lib/elm_widget_entry.h
src/lib/elm_widget_fileselector.h
src/lib/elm_widget_fileselector_button.h
src/lib/elm_widget_fileselector_entry.h
src/lib/elm_widget_flip.h
src/lib/elm_widget_flipselector.h
src/lib/elm_widget_frame.h
src/lib/elm_widget_gengrid.h
src/lib/elm_widget_genlist.h
src/lib/elm_widget_glview.h
src/lib/elm_widget_hover.h
src/lib/elm_widget_hoversel.h
src/lib/elm_widget_icon.h
src/lib/elm_widget_image.h
src/lib/elm_widget_index.h
src/lib/elm_widget_inwin.h
src/lib/elm_widget_label.h
src/lib/elm_widget_layout.h
src/lib/elm_widget_list.h
src/lib/elm_widget_map.h
src/lib/elm_widget_mapbuf.h
src/lib/elm_widget_menu.h
src/lib/elm_widget_multibuttonentry.h
src/lib/elm_widget_naviframe.h
src/lib/elm_widget_notify.h
src/lib/elm_widget_panel.h
src/lib/elm_widget_panes.h
src/lib/elm_widget_photo.h
src/lib/elm_widget_photocam.h
src/lib/elm_widget_player.h
src/lib/elm_widget_plug.h
src/lib/elm_widget_popup.h
src/lib/elm_widget_prefs.h
src/lib/elm_widget_progressbar.h
src/lib/elm_widget_radio.h
src/lib/elm_widget_route.h
src/lib/elm_widget_scroller.h
src/lib/elm_widget_segment_control.h
src/lib/elm_widget_separator.h
src/lib/elm_widget_slider.h
src/lib/elm_widget_slideshow.h
src/lib/elm_widget_spinner.h
src/lib/elm_widget_thumb.h
src/lib/elm_widget_toolbar.h
src/lib/elm_widget_video.h
src/lib/elm_widget_web.h
src/lib/elm_win.c

index f1d20d5..a8bea71 100644 (file)
@@ -189,7 +189,7 @@ _base_geometry_calc(Evas_Object *obj,
    int idx;
 
    ELM_CTXPOPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!rect || !sd->parent) return ELM_CTXPOPUP_DIRECTION_DOWN;
 
@@ -365,7 +365,7 @@ _arrow_update(Evas_Object *obj,
    double drag;
 
    ELM_CTXPOPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_geometry_get(obj, &x, &y, NULL, NULL);
    evas_object_geometry_get
@@ -604,7 +604,7 @@ _elm_ctxpopup_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord_Point list_size = { 0, 0 };
 
    Elm_Ctxpopup_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->arrow) return;  /* simple way to flag "under deletion" */
    if (!sd->parent) return; /* do not calculate sizes unless parent is set */
@@ -1177,7 +1177,7 @@ elm_ctxpopup_add(Evas_Object *parent)
 
    /* access: parent could be any object such as elm_list which does
       not know elc_ctxpopup as its child object in the focus_next(); */
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    wd->highlight_root = EINA_TRUE;
 
    return obj;
index f1fecf9..98a3634 100644 (file)
@@ -49,7 +49,7 @@ _elm_fileselector_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *lis
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    edje_object_size_min_restricted_calc
@@ -77,7 +77,7 @@ _elm_fileselector_smart_theme(Eo *obj, void *_pd, va_list *list)
    char buf[1024];
 
    Elm_Fileselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret;
index 7992735..e6dc4a8 100644 (file)
@@ -37,7 +37,7 @@ _elm_fileselector_button_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *li
    char buf[4096];
    const char *style;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    style = eina_stringshare_add(elm_widget_style_get(obj));
 
index 99d7d81..e399fb5 100644 (file)
@@ -109,7 +109,7 @@ _elm_fileselector_entry_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_lis
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_size_min_calc(wd->resize_obj, &minw, &minh);
    evas_object_size_hint_min_set(obj, minw, minh);
@@ -195,7 +195,7 @@ _elm_fileselector_entry_smart_theme(Eo *obj, void *_pd, va_list *list)
    char buf[1024];
 
    Elm_Fileselector_Entry_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool int_ret;
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
index 701807a..a863866 100644 (file)
@@ -38,7 +38,7 @@ _elm_hoversel_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool int_ret;
 
    Elm_Hoversel_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    char buf[4096];
    const char *style;
index cffda6a..d31f02f 100644 (file)
@@ -128,7 +128,7 @@ _shrink_mode_set(Evas_Object *obj,
    Evas_Coord button_min_width = 0;
 
    ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->view_state == MULTIBUTTONENTRY_VIEW_ENTRY)
      evas_object_hide(sd->entry);
@@ -873,7 +873,7 @@ _elm_multibuttonentry_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_U
    Evas_Coord left, right, top, bottom;
 
    Elm_Multibuttonentry_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_size_hint_min_get(sd->box, &minw, &minh);
    edje_object_part_geometry_get
@@ -913,7 +913,7 @@ _box_resize_cb(void *data,
                Evas_Object *obj __UNUSED__,
                void *event __UNUSED__)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Coord w, h;
 
    evas_object_geometry_get(sd->box, NULL, NULL, &w, &h);
@@ -935,7 +935,7 @@ _entry_resize_cb(void *data,
                  Evas_Object *obj __UNUSED__,
                  void *event_info __UNUSED__)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Coord en_x, en_y, en_w, en_h;
 
    evas_object_geometry_get(sd->entry, &en_x, &en_y, &en_w, &en_h);
@@ -949,7 +949,7 @@ _entry_changed_cb(void *data,
                   Evas_Object *obj __UNUSED__,
                   void *event_info __UNUSED__)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    const char *str;
 
    str = elm_object_text_get(sd->entry);
@@ -962,7 +962,7 @@ _entry_focus_in_cb(void *data,
                    void *event_info __UNUSED__)
 {
    Elm_Multibuttonentry_Item *item = NULL;
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    if (sd->selected_it)
      {
@@ -977,7 +977,7 @@ _entry_focus_out_cb(void *data,
                     Evas_Object *obj __UNUSED__,
                     void *event_info __UNUSED__)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    const char *str;
 
    str = elm_object_text_get(sd->entry);
@@ -990,7 +990,7 @@ _entry_clicked_cb(void *data,
                   Evas_Object *obj __UNUSED__,
                   void *event_info __UNUSED__)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    _current_button_state_change(sd->parent, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
    elm_object_focus_set(sd->entry, EINA_TRUE);
@@ -1003,7 +1003,7 @@ _layout_key_up_cb(void *data,
                   void *event_info)
 {
    Elm_Multibuttonentry_Item *item = NULL;
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *)event_info;
 
    if (!sd->box) return;
@@ -1040,7 +1040,7 @@ _entry_key_down_cb(void *data,
                    Evas_Object *obj __UNUSED__,
                    void *event_info)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
 
    if (sd->n_str == 1 &&
@@ -1054,7 +1054,7 @@ _entry_key_up_cb(void *data,
                  Evas_Object *obj __UNUSED__,
                  void *event_info)
 {
-   Elm_Multibuttonentry_Smart_Data *sd = data;
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *)event_info;
    const char *str;
 
@@ -1074,7 +1074,7 @@ static void
 _callbacks_register(Evas_Object *obj)
 {
    ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_layout_signal_callback_add
      (obj, "mouse,clicked,1", "*", _mouse_clicked_signal_cb, sd);
@@ -1084,22 +1084,22 @@ _callbacks_register(Evas_Object *obj)
      _layout_key_up_cb, sd);
 
    evas_object_event_callback_add
-     (sd->box, EVAS_CALLBACK_RESIZE, _box_resize_cb, sd);
+     (sd->box, EVAS_CALLBACK_RESIZE, _box_resize_cb, obj);
 
    evas_object_event_callback_add
-     (sd->entry, EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, sd);
+     (sd->entry, EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj);
    evas_object_event_callback_add
-     (sd->entry, EVAS_CALLBACK_KEY_DOWN, _entry_key_down_cb, sd);
+     (sd->entry, EVAS_CALLBACK_KEY_DOWN, _entry_key_down_cb, obj);
    evas_object_event_callback_add
-     (sd->entry, EVAS_CALLBACK_RESIZE, _entry_resize_cb, sd);
+     (sd->entry, EVAS_CALLBACK_RESIZE, _entry_resize_cb, obj);
    evas_object_smart_callback_add
-     (sd->entry, "changed", _entry_changed_cb, sd);
+     (sd->entry, "changed", _entry_changed_cb, obj);
    evas_object_smart_callback_add
-     (sd->entry, "focused", _entry_focus_in_cb, sd);
+     (sd->entry, "focused", _entry_focus_in_cb, obj);
    evas_object_smart_callback_add
-     (sd->entry, "unfocused", _entry_focus_out_cb, sd);
+     (sd->entry, "unfocused", _entry_focus_out_cb, obj);
    evas_object_smart_callback_add
-     (sd->entry, "clicked", _entry_clicked_cb, sd);
+     (sd->entry, "clicked", _entry_clicked_cb, obj);
 }
 
 static void
@@ -1371,7 +1371,7 @@ static void
 _view_init(Evas_Object *obj, Elm_Multibuttonentry_Smart_Data *sd)
 {
    const char *end_type;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->box = elm_box_add(obj);
 
@@ -1525,7 +1525,7 @@ static void
 _elm_multibuttonentry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Multibuttonentry_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 59ac634..cfcc6fa 100644 (file)
@@ -1259,7 +1259,7 @@ static void
 _elm_naviframe_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Naviframe_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index d622f97..3e7bc46 100644 (file)
@@ -144,7 +144,7 @@ _elm_player_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA
 {
    Evas_Coord w, h;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_size_min_get(wd->resize_obj, &w, &h);
    edje_object_size_min_restricted_calc
index a1d95f1..304bc59 100644 (file)
@@ -77,7 +77,7 @@ static Evas_Object *
 _access_object_get(const Evas_Object *obj, const char* part)
 {
    Evas_Object *po, *ao;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    po = (Evas_Object *)edje_object_part_object_get(wd->resize_obj, part);
    ao = evas_object_data_get(po, "_part_access_obj");
@@ -128,7 +128,7 @@ _scroller_size_calc(Evas_Object *obj)
    const char *action_area_height;
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->items) return;
 
@@ -245,7 +245,7 @@ _access_obj_process(Eo *obj, Eina_Bool is_access)
    Evas_Object *ao;
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (is_access)
      {
@@ -298,7 +298,7 @@ _elm_popup_smart_theme(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Popup_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -389,7 +389,7 @@ _elm_popup_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
    Elm_Popup_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->items)
      {
@@ -423,7 +423,7 @@ _elm_popup_smart_sub_object_del(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret;
 
    Elm_Popup_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_sub_object_del(sobj, &int_ret));
    if (!int_ret) return;
@@ -518,7 +518,7 @@ _button_remove(Evas_Object *obj,
    char buf[128];
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->button_count) return;
 
@@ -590,7 +590,7 @@ static void
 _list_add(Evas_Object *obj)
 {
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->tbl = elm_table_add(obj);
 
@@ -858,7 +858,7 @@ _title_text_set(Evas_Object *obj,
    Eina_Bool title_visibility_old, title_visibility_current;
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->title_text == text) return EINA_TRUE;
 
@@ -907,7 +907,7 @@ _content_text_set(Evas_Object *obj,
    char buf[128];
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->items)
      {
@@ -1016,7 +1016,7 @@ _title_icon_set(Evas_Object *obj,
    Eina_Bool title_visibility_old, title_visibility_current;
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->title_icon == icon) return EINA_TRUE;
    title_visibility_old = (sd->title_text) || (sd->title_icon);
@@ -1045,7 +1045,7 @@ _content_set(Evas_Object *obj,
              Evas_Object *content)
 {
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->content && sd->content == content) return EINA_TRUE;
    if (sd->items)
@@ -1084,7 +1084,7 @@ _action_button_set(Evas_Object *obj,
    char buf[128];
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (idx >= ELM_POPUP_ACTION_BUTTON_MAX) return;
 
@@ -1275,7 +1275,7 @@ _title_icon_unset(Evas_Object *obj)
    Evas_Object *icon;
 
    ELM_POPUP_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->title_icon) return NULL;
 
@@ -1473,7 +1473,7 @@ static void
 _elm_popup_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Popup_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
    evas_object_size_hint_weight_set
@@ -1555,7 +1555,7 @@ elm_popup_add(Evas_Object *parent)
 
    /* access: parent could be any object such as elm_list which does
       not know elc_popup as its child object in the focus_next();    */
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    wd->highlight_root = EINA_TRUE;
 
    return obj;
index 1db4393..a7fc57e 100644 (file)
@@ -498,7 +498,7 @@ _access_highlight_next_get(Evas_Object *obj, Elm_Focus_Direction dir)
    /* find highlight root */
    do
      {
-        wd = eo_data_get(parent, ELM_OBJ_WIDGET_CLASS);
+        wd = eo_data_scope_get(parent, ELM_OBJ_WIDGET_CLASS);
         if (wd->highlight_root)
           {
              /* change highlight root */
@@ -645,7 +645,7 @@ _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
    /* find highlight root */
    do
      {
-        wd = eo_data_get(parent, ELM_OBJ_WIDGET_CLASS);
+        wd = eo_data_scope_get(parent, ELM_OBJ_WIDGET_CLASS);
         if (wd->highlight_root)
           {
              /* change highlight root */
index ee7a9bf..9db30ed 100644 (file)
@@ -57,7 +57,7 @@ _elm_actionslider_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSE
    Evas_Coord minw = -1, minh = -1;
 
    Elm_Actionslider_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    evas_object_size_hint_min_set(sd->drag_button_base, minw, minh);
@@ -78,7 +78,7 @@ _mirroredness_change_eval(Evas_Object *obj)
    double pos;
    char *left;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    left = (char *)elm_layout_text_get(obj, "elm.text.left");
    if (left) left = strdup(left);
@@ -103,7 +103,7 @@ _elm_actionslider_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    mirrored = elm_object_mirrored_get(obj);
 
@@ -124,7 +124,7 @@ _drag_button_down_cb(void *data,
                      const char *emission __UNUSED__,
                      const char *source __UNUSED__)
 {
-   Elm_Actionslider_Smart_Data *sd = data;
+   Elm_Actionslider_Smart_Data *sd = eo_data_scope_get(data, MY_CLASS);
 
    sd->mouse_down = EINA_TRUE;
 }
@@ -139,7 +139,7 @@ _drag_button_move_cb(void *data,
    double pos = 0.0;
 
    ELM_ACTIONSLIDER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->mouse_down) return;
 
@@ -176,7 +176,7 @@ _button_animator(void *data)
    double cur_position = 0.0, new_position = 0.0;
 
    ELM_ACTIONSLIDER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_part_drag_value_get
      (wd->resize_obj, "elm.drag_button_base",
@@ -248,7 +248,7 @@ _drag_button_up_cb(void *data,
    double position = 0.0;
 
    ELM_ACTIONSLIDER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->mouse_down = EINA_FALSE;
 
@@ -388,7 +388,7 @@ static void
 _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Actionslider_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -403,7 +403,7 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
      _drag_button_up_cb, obj);
    edje_object_signal_callback_add
      (wd->resize_obj, "elm.drag_button,mouse,down", "",
-     _drag_button_down_cb, priv);
+     _drag_button_down_cb, obj);
    edje_object_signal_callback_add
      (wd->resize_obj, "elm.drag_button,mouse,move", "",
      _drag_button_move_cb, obj);
@@ -459,7 +459,7 @@ _indicator_pos_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
    Elm_Actionslider_Pos pos = va_arg(*list, Elm_Actionslider_Pos);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    pos = _get_pos_by_orientation(obj, pos);
    if (pos == ELM_ACTIONSLIDER_CENTER) position = 0.5;
@@ -486,7 +486,7 @@ _indicator_pos_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
    Elm_Actionslider_Pos *ret = va_arg(*list, Elm_Actionslider_Pos *);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_part_drag_value_get
      (wd->resize_obj, "elm.drag_button_base", &position,
index 6260224..0e468cb 100644 (file)
@@ -25,7 +25,7 @@ _elm_bg_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    const char *p;
 
    Elm_Bg_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if ((!sd->img) || (!sd->file)) return;
    if (((p = strrchr(sd->file, '.'))) && (!strcasecmp(p, ".edj"))) return;
@@ -168,7 +168,7 @@ _file_set(Eo *obj, void *_pd, va_list *list)
    const char *group = va_arg(*list, const char *);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    Elm_Bg_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    const char *p;
    Eina_Bool int_ret;
@@ -304,7 +304,7 @@ _color_set(Eo *obj, void *_pd, va_list *list)
    int g = va_arg(*list, int);
    int b = va_arg(*list, int);
    Elm_Bg_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->rect)
      {
index 45c85f4..addc623 100644 (file)
@@ -68,7 +68,7 @@ _elm_box_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
      list_data_get = eina_list_data_get;
    else
      {
-        Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+        Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
         Evas_Object_Box_Data *bd =
           evas_object_smart_data_get(wd->resize_obj);
@@ -108,7 +108,7 @@ _elm_box_smart_focus_direction(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_li
      list_data_get = eina_list_data_get;
    else
      {
-        Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+        Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
         Evas_Object_Box_Data *bd =
           evas_object_smart_data_get(wd->resize_obj);
 
@@ -132,7 +132,7 @@ _elm_box_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_smart_calculate(wd->resize_obj);
 
    if (ret) *ret = EINA_TRUE;
@@ -145,7 +145,7 @@ _sizing_eval(Evas_Object *obj)
    Evas_Coord w, h;
 
    ELM_BOX_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->delete_me)
      return;
@@ -395,7 +395,7 @@ _transition_layout_animation_exec(Evas_Object *obj,
 static void
 _elm_box_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    elm_widget_resize_object_set(obj,
                                 evas_object_box_add(evas_object_evas_get(obj)));
 
@@ -426,7 +426,7 @@ _elm_box_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Elm_Box_Smart_Data *sd = _pd;
    sd->delete_me = EINA_TRUE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_event_callback_del_full
      (wd->resize_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
      _on_size_hints_changed, obj);
@@ -478,7 +478,7 @@ _horizontal_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool horizontal = va_arg(*list, int);
    Elm_Box_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->horizontal = !!horizontal;
    evas_object_smart_calculate(wd->resize_obj);
@@ -514,7 +514,7 @@ _homogeneous_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool homogeneous = va_arg(*list, int);
    Elm_Box_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->homogeneous = !!homogeneous;
    evas_object_smart_calculate(wd->resize_obj);
@@ -550,7 +550,7 @@ _pack_start(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 {
    Evas_Object *subobj = va_arg(*list, Evas_Object *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_widget_sub_object_add(obj, subobj);
    evas_object_box_prepend(wd->resize_obj, subobj);
@@ -568,7 +568,7 @@ static void
 _pack_end(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object *subobj = va_arg(*list, Evas_Object *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_widget_sub_object_add(obj, subobj);
    evas_object_box_append(wd->resize_obj, subobj);
@@ -588,7 +588,7 @@ _pack_before(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object *subobj = va_arg(*list, Evas_Object *);
    Evas_Object *before = va_arg(*list, Evas_Object *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_widget_sub_object_add(obj, subobj);
 
@@ -610,7 +610,7 @@ _pack_after(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object *subobj = va_arg(*list, Evas_Object *);
    Evas_Object *after = va_arg(*list, Evas_Object *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_widget_sub_object_add(obj, subobj);
    evas_object_box_insert_after
@@ -628,7 +628,7 @@ static void
 _clear(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
    /* EINA_TRUE means to delete objects as well */
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_box_remove_all(wd->resize_obj, EINA_TRUE);
 }
 
@@ -645,7 +645,7 @@ static void
 _unpack(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object *subobj = va_arg(*list, Evas_Object *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (evas_object_box_remove(wd->resize_obj, subobj))
      elm_widget_sub_object_del(obj, subobj);
@@ -664,7 +664,7 @@ _unpack_all(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
    Evas_Object_Box_Data *bd;
    Evas_Object_Box_Option *opt;
    Eina_List *l;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ELM_BOX_CHECK(obj);
    bd = evas_object_smart_data_get(wd->resize_obj);
@@ -691,7 +691,7 @@ _layout_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Evas_Object_Box_Layout cb = va_arg(*list, Evas_Object_Box_Layout);
    const void *data = va_arg(*list, const void *);
    Ecore_Cb free_data = va_arg(*list, Ecore_Cb);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    if (cb)
      evas_object_box_layout_set
        (wd->resize_obj, cb, data, free_data);
@@ -809,7 +809,7 @@ static void
 _children_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_List **ret = va_arg(*list, Eina_List **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = evas_object_box_children_get(wd->resize_obj);
 }
 
@@ -827,7 +827,7 @@ _padding_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Coord horizontal = va_arg(*list, Evas_Coord);
    Evas_Coord vertical = va_arg(*list, Evas_Coord);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_box_padding_set
      (wd->resize_obj, horizontal, vertical);
@@ -847,7 +847,7 @@ _padding_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Coord *horizontal = va_arg(*list, Evas_Coord *);
    Evas_Coord *vertical = va_arg(*list, Evas_Coord *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_box_padding_get
      (wd->resize_obj, horizontal, vertical);
 }
@@ -866,7 +866,7 @@ _align_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    double horizontal = va_arg(*list, double);
    double vertical = va_arg(*list, double);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_size_hint_align_set
      (wd->resize_obj, horizontal, vertical);
@@ -886,7 +886,7 @@ _align_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    double *horizontal = va_arg(*list, double *);
    double *vertical = va_arg(*list, double *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_size_hint_align_get
      (wd->resize_obj, horizontal, vertical);
@@ -906,7 +906,7 @@ _recalculate(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 
    if (sd->recalc) return;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_smart_need_recalculate_set
      (wd->resize_obj, EINA_TRUE);
    sd->recalc++;
index 3af00fb..eef17fc 100644 (file)
@@ -44,7 +44,7 @@ _elm_bubble_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    edje_object_size_min_restricted_calc
@@ -74,7 +74,7 @@ _elm_bubble_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object *content;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction);
    Evas_Object **next = va_arg(*list, Evas_Object **);
@@ -193,7 +193,7 @@ static void
 _elm_bubble_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Bubble_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -266,7 +266,7 @@ _pos_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Bubble_Pos pos = va_arg(*list, Elm_Bubble_Pos);
    Elm_Bubble_Smart_Data *sd = _pd;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
 
    if (pos < ELM_BUBBLE_POS_TOP_LEFT || pos > ELM_BUBBLE_POS_BOTTOM_RIGHT)
      return;
index 869b110..b6e1b38 100644 (file)
@@ -63,7 +63,7 @@ _activate(Evas_Object *obj)
 static void
 _elm_button_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Evas_Coord minw = -1, minh = -1;
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
@@ -287,10 +287,9 @@ _access_state_cb(void *data __UNUSED__, Evas_Object *obj)
 }
 
 static void
-_elm_button_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+_elm_button_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Button_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -312,7 +311,7 @@ _elm_button_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    _elm_access_callback_set
      (_elm_access_object_get(obj), ELM_ACCESS_INFO, _access_info_cb, NULL);
    _elm_access_callback_set
-     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, priv);
+     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, obj);
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
    if (!elm_layout_theme_set(obj, "button", "base", elm_widget_style_get(obj)))
index b7d4287..b081410 100644 (file)
@@ -62,7 +62,7 @@ _elm_calendar_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EI
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(8, &minw, ELM_DAY_LAST, &minh);
    edje_object_size_min_restricted_calc
@@ -941,7 +941,7 @@ _elm_calendar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    int i, t;
 
    Elm_Calendar_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 9f07db3..0da47b2 100644 (file)
@@ -126,7 +126,7 @@ _elm_check_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    edje_object_size_min_restricted_calc
@@ -172,7 +172,7 @@ _elm_check_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Check_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -206,7 +206,7 @@ _access_info_cb(void *data __UNUSED__, Evas_Object *obj)
 static char *
 _access_state_cb(void *data, Evas_Object *obj)
 {
-   Elm_Check_Smart_Data *sd = eo_data_get(data, MY_CLASS);
+   Elm_Check_Smart_Data *sd = eo_data_scope_get(data, MY_CLASS);
    const char *on_text, *off_text;
 
    if (elm_widget_disabled_get(obj))
@@ -281,10 +281,9 @@ _on_check_toggle(void *data,
 }
 
 static void
-_elm_check_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+_elm_check_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Check_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -302,7 +301,7 @@ _elm_check_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    _elm_access_text_set
      (_elm_access_object_get(obj), ELM_ACCESS_TYPE, E_("Check"));
    _elm_access_callback_set
-     (_elm_access_object_get(obj), ELM_ACCESS_INFO, _access_info_cb, priv);
+     (_elm_access_object_get(obj), ELM_ACCESS_INFO, _access_info_cb, obj);
    _elm_access_callback_set
      (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, obj);
 
@@ -361,7 +360,7 @@ _elm_check_smart_state_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool state = va_arg(*list, int);
    Elm_Check_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (state != sd->state)
      {
index 9b7a4ba..752844a 100644 (file)
@@ -166,7 +166,7 @@ _on_clock_val_change_stop(void *data,
                           const char *emission __UNUSED__,
                           const char *source __UNUSED__)
 {
-   Elm_Clock_Smart_Data *sd = data;
+   ELM_CLOCK_DATA_GET(data, sd);
 
    if (sd->spin) ecore_timer_del(sd->spin);
    sd->spin = NULL;
@@ -334,7 +334,7 @@ static void
 _time_update(Evas_Object *obj)
 {
    ELM_CLOCK_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Edje_Message_Int msg;
    int ampm = 0;
@@ -406,13 +406,13 @@ _time_update(Evas_Object *obj)
                _on_clock_val_up_start, obj);
              edje_object_signal_callback_add
                (sd->digit[i], "elm,action,up,stop", "",
-               _on_clock_val_change_stop, sd);
+               _on_clock_val_change_stop, obj);
              edje_object_signal_callback_add
                (sd->digit[i], "elm,action,down,start", "",
                _on_clock_val_down_start, obj);
              edje_object_signal_callback_add
                (sd->digit[i], "elm,action,down,stop", "",
-               _on_clock_val_change_stop, sd);
+               _on_clock_val_change_stop, obj);
 
              mw = mh = -1;
              elm_coords_finger_size_adjust(1, &mw, 2, &mh);
@@ -440,13 +440,13 @@ _time_update(Evas_Object *obj)
                _on_clock_val_up_start, obj);
              edje_object_signal_callback_add
                (sd->am_pm_obj, "elm,action,up,stop", "",
-               _on_clock_val_change_stop, sd);
+               _on_clock_val_change_stop, obj);
              edje_object_signal_callback_add
                (sd->am_pm_obj, "elm,action,down,start", "",
                _on_clock_val_down_start, obj);
              edje_object_signal_callback_add
                (sd->am_pm_obj, "elm,action,down,stop", "",
-               _on_clock_val_change_stop, sd);
+               _on_clock_val_change_stop, obj);
 
              mw = mh = -1;
              elm_coords_finger_size_adjust(1, &mw, 2, &mh);
@@ -670,7 +670,7 @@ static void
 _elm_clock_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Clock_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -790,7 +790,7 @@ _elm_clock_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 static void
 _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    /* clock object */
    evas_object_propagate_events_set(obj, !is_access);
index 76b2837..03861cf 100644 (file)
@@ -1071,7 +1071,7 @@ _elm_colorselector_smart_theme(Eo *obj, void *_pd, va_list *list)
    unsigned int v_pad = DEFAULT_VER_PAD;
 
    Elm_Colorselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
@@ -1221,7 +1221,7 @@ _elm_colorselector_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUS
    Evas_Coord minw = -1, minh = -1;
 
    Elm_Colorselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
 
@@ -1469,7 +1469,7 @@ _elm_colorselector_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    unsigned int v_pad = DEFAULT_VER_PAD;
 
    Elm_Colorselector_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -1906,7 +1906,7 @@ _mode_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Colorselector_Mode mode = va_arg(*list, Elm_Colorselector_Mode);
    Elm_Colorselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->mode == mode) return;
    sd->mode = mode;
index aa5ef14..56587f2 100644 (file)
@@ -231,7 +231,7 @@ _conformant_parts_swallow(Evas_Object *obj)
 
    ELM_CONFORMANT_DATA_GET(obj, sd);
 
-   wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    e = evas_object_evas_get(obj);
 
    sd->scroller = NULL;
@@ -304,7 +304,7 @@ static Eina_Bool
 _port_indicator_connect_cb(void *data)
 {
    const char   *indicator_serv_name;
-   Elm_Conformant_Smart_Data *sd = data;
+   ELM_CONFORMANT_DATA_GET(data, sd);
    int rot;
 
    if (!sd) return ECORE_CALLBACK_CANCEL;
@@ -335,7 +335,7 @@ static Eina_Bool
 _land_indicator_connect_cb(void *data)
 {
    const char   *indicator_serv_name;
-   Elm_Conformant_Smart_Data *sd = data;
+   ELM_CONFORMANT_DATA_GET(data, sd);
    int rot;
 
    if (!sd) return ECORE_CALLBACK_CANCEL;
@@ -370,7 +370,7 @@ _land_indicator_disconnected(void *data,
 
    ELM_CONFORMANT_DATA_GET(conform, sd);
 
-   sd->land_indi_timer = ecore_timer_add(1, _land_indicator_connect_cb, sd);
+   sd->land_indi_timer = ecore_timer_add(1, _land_indicator_connect_cb, conform);
 }
 
 static void
@@ -382,7 +382,7 @@ _port_indicator_disconnected(void *data,
 
    ELM_CONFORMANT_DATA_GET(conform, sd);
 
-   sd->port_indi_timer = ecore_timer_add(1, _port_indicator_connect_cb, sd);
+   sd->port_indi_timer = ecore_timer_add(1, _port_indicator_connect_cb, conform);
 }
 
 
@@ -466,7 +466,7 @@ _indicator_mode_set(Evas_Object *conformant, Elm_Win_Indicator_Mode indmode)
    Elm_Widget_Smart_Data *wd;
 
    ELM_CONFORMANT_DATA_GET(conformant, sd);
-   wd = eo_data_get(conformant, ELM_OBJ_WIDGET_CLASS);
+   wd = eo_data_scope_get(conformant, ELM_OBJ_WIDGET_CLASS);
 
    sd->indmode = indmode;
 
index 7c85ac5..d91c8a9 100644 (file)
@@ -300,7 +300,7 @@ _reload_format(Evas_Object *obj)
    char *dt_fmt;
 
    ELM_DATETIME_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    // FIXME: provide nl_langinfo on Windows if possible
    // fetch the default format from Libc.
@@ -467,7 +467,7 @@ _elm_datetime_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    unsigned int idx, field_count = 0;
 
    Elm_Datetime_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    for (idx = 0; idx < ELM_DATETIME_TYPE_COUNT; idx++)
      {
@@ -494,7 +494,7 @@ _elm_datetime_smart_theme(Eo *obj, void *_pd, va_list *list)
    unsigned int idx;
 
    Elm_Datetime_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
index 5d61b4d..d95da77 100644 (file)
@@ -31,7 +31,7 @@ _elm_dayselector_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list
 {
    Evas_Coord min_w = -1, min_h = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(ELM_DAYSELECTOR_MAX, &min_w, 1, &min_h);
    edje_object_size_min_restricted_calc
@@ -525,7 +525,7 @@ static void
 _week_start_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Dayselector_Day day = va_arg(*list, Elm_Dayselector_Day);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Eina_List *l;
    char buf[1024];
    Elm_Dayselector_Item *it;
index a05ca54..5de6f6a 100644 (file)
@@ -288,7 +288,7 @@ _resize_cb(void *data __UNUSED__,
    Evas_Coord w, h;
 
    ELM_DISKSELECTOR_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if ((sd->minw == -1) && (sd->minh == -1))
      elm_coords_finger_size_adjust(6, &sd->minw, 1, &sd->minh);
@@ -875,7 +875,7 @@ _elm_diskselector_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_on_focus(&int_ret));
    if (!int_ret) return;
index ee5d164..8f904f9 100644 (file)
@@ -488,7 +488,7 @@ _elm_entry_smart_theme(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Entry_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool int_ret = EINA_FALSE;
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
@@ -2420,7 +2420,7 @@ _elm_entry_smart_callback_add(Eo *obj, void *_pd, va_list *list)
    Evas_Object *ro;
 
    Elm_Entry_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ro = wd->resize_obj;
 
@@ -2450,7 +2450,7 @@ _elm_entry_smart_callback_del(Eo *obj, void *_pd, va_list *list)
    Evas_Object *ro;
 
    Elm_Entry_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ro = wd->resize_obj;
 
@@ -2794,7 +2794,7 @@ _elm_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 #endif
 
    Elm_Entry_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index adf3024..bbd9d54 100644 (file)
@@ -487,7 +487,7 @@ _slice_obj_vert_color_merge(Slice *s1,
 static int
 _state_update(Evas_Object *obj)
 {
-   Elm_Flip_Smart_Data *sd = eo_data_get(obj, MY_CLASS);
+   Elm_Flip_Smart_Data *sd = eo_data_scope_get(obj, MY_CLASS);
    Slice *sl;
    Vertex3 *tvo, *tvol;
    Evas_Object *front, *back;
@@ -1510,7 +1510,7 @@ _update_job(void *data)
 {
    Elm_Flip_Mode m = ELM_FLIP_ROTATE_X_CENTER_AXIS;
    Evas_Object *obj = data;
-   Elm_Flip_Smart_Data *sd = eo_data_get(obj, MY_CLASS);
+   Elm_Flip_Smart_Data *sd = eo_data_scope_get(obj, MY_CLASS);
    int rev = 0;
    double p;
 
index e23cc23..9666690 100644 (file)
@@ -47,7 +47,7 @@ _elm_flipselector_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSE
    Evas_Coord minw = -1, minh = -1, w, h;
 
    Elm_Flipselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->evaluating) return;
 
@@ -89,7 +89,7 @@ _update_view(Evas_Object *obj)
    Elm_Flipselector_Item *item;
 
    ELM_FLIPSELECTOR_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    label = NULL;
    item = DATA_GET(sd->current);
@@ -265,7 +265,7 @@ _send_msg(Elm_Flipselector_Smart_Data *sd,
           char *label)
 {
    Edje_Message_String msg;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    msg.str = label;
    edje_object_message_send
@@ -360,7 +360,7 @@ _elm_flipselector_smart_theme(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Flipselector_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
index 9d0875d..d3621ff 100644 (file)
@@ -32,7 +32,7 @@ static void
 _sizing_eval(Evas_Object *obj,
              Elm_Frame_Smart_Data *sd EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Evas_Coord minw = -1, minh = -1;
    Evas_Coord cminw = -1, cminh = -1;
 
@@ -118,7 +118,7 @@ _on_recalc_done(void *data,
                 const char *src __UNUSED__)
 {
    ELM_FRAME_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_smart_callback_del
      (wd->resize_obj, "recalc", _recalc);
@@ -134,7 +134,7 @@ _on_frame_clicked(void *data,
                   const char *src __UNUSED__)
 {
    ELM_FRAME_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->anim) return;
 
@@ -154,7 +154,7 @@ static void
 _elm_frame_smart_calculate(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Frame_Smart_Data *sd = _pd;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, elm_obj_layout_class_get());
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, elm_obj_layout_class_get());
 
    if (ld->needs_size_calc)
      {
@@ -167,7 +167,7 @@ _elm_frame_smart_calculate(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 static void
 _elm_frame_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -268,7 +268,7 @@ _collapse_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool collapse = va_arg(*list, int);
    Elm_Frame_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    collapse = !!collapse;
    if (sd->collapsed == collapse) return;
@@ -294,7 +294,7 @@ _collapse_go(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool collapse = va_arg(*list, int);
    Elm_Frame_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    collapse = !!collapse;
    if (sd->collapsed == collapse) return;
index dd1d789..1c2f33e 100644 (file)
@@ -176,7 +176,7 @@ _item_show_region(void *data)
 static void
 _calc_job(void *data)
 {
-   Elm_Gengrid_Smart_Data *sd = data;
+   ELM_GENGRID_DATA_GET(data, sd);
    Evas_Coord minw = 0, minh = 0, nmax = 0, cvw, cvh;
    Elm_Gen_Item *it, *group_item = NULL;
    int count_group = 0;
@@ -247,6 +247,14 @@ _calc_job(void *data)
 }
 
 static void
+_elm_gengrid_pan_destructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Elm_Gengrid_Pan_Smart_Data *psd = _pd;
+   eo_data_unref(psd->wobj, psd->wsd);
+   eo_do_super(obj, MY_PAN_CLASS, eo_destructor());
+}
+
+static void
 _elm_gengrid_pan_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
 {
    Elm_Gengrid_Pan_Smart_Data *psd = _pd;
@@ -254,7 +262,7 @@ _elm_gengrid_pan_smart_move(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    va_arg(*list, Evas_Coord);
 
    if (psd->wsd->calc_job) ecore_job_del(psd->wsd->calc_job);
-   psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wsd);
+   psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
 }
 
 static void
@@ -269,7 +277,7 @@ _elm_gengrid_pan_smart_resize(Eo *obj, void *_pd, va_list *list)
    evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
    if ((ow == w) && (oh == h)) return;
    if (psd->wsd->calc_job) ecore_job_del(psd->wsd->calc_job);
-   psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wsd);
+   psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
 }
 
 static void
@@ -356,7 +364,7 @@ _item_mouse_move_cb(void *data,
              if (GG_IT(it)->wsd->calc_job)
                ecore_job_del(GG_IT(it)->wsd->calc_job);
              GG_IT(it)->wsd->calc_job =
-               ecore_job_add(_calc_job, GG_IT(it)->wsd);
+               ecore_job_add(_calc_job, GG_IT(it)->wsd->obj);
           }
         return;
      }
@@ -596,7 +604,7 @@ _item_mouse_up_cb(void *data,
         if (sd->calc_job)
           ecore_job_del(sd->calc_job);
         sd->calc_job =
-          ecore_job_add(_calc_job, sd);
+          ecore_job_add(_calc_job, sd->obj);
 
         eo_do(WIDGET(it), elm_scrollable_interface_hold_set(EINA_FALSE));
         eo_do(WIDGET(it), elm_scrollable_interface_bounce_allow_set(
@@ -1241,7 +1249,7 @@ _item_place(Elm_Gen_Item *it,
                             if (wsd->calc_job)
                               ecore_job_del(wsd->calc_job);
                             wsd->calc_job =
-                              ecore_job_add(_calc_job, wsd);
+                              ecore_job_add(_calc_job, wsd->obj);
 
                             return;
                          }
@@ -1460,6 +1468,8 @@ static void
 _gengrid_pan_class_constructor(Eo_Class *klass)
 {
       const Eo_Op_Func_Description func_desc[] = {
+           EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _elm_gengrid_pan_destructor),
+
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _elm_gengrid_pan_smart_resize),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _elm_gengrid_pan_smart_move),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_CALCULATE), _elm_gengrid_pan_smart_calculate),
@@ -2063,7 +2073,7 @@ _elm_gengrid_item_del_serious(Elm_Gen_Item *it)
      }
    if (GG_IT(it)->wsd->calc_job) ecore_job_del(GG_IT(it)->wsd->calc_job);
    GG_IT(it)->wsd->calc_job =
-     ecore_job_add(GG_IT(it)->wsd->calc_cb, GG_IT(it)->wsd);
+     ecore_job_add(GG_IT(it)->wsd->calc_cb, GG_IT(it)->wsd->obj);
 
    if (GG_IT(it)->wsd->last_selected_item == (Elm_Object_Item *)it)
      GG_IT(it)->wsd->last_selected_item = NULL;
@@ -2387,7 +2397,7 @@ _elm_gengrid_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Elm_Gengrid_Pan_Smart_Data *pan_data;
 
    Elm_Gengrid_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -2433,7 +2443,8 @@ _elm_gengrid_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    priv->highlight = EINA_TRUE;
 
    priv->pan_obj = eo_add(MY_PAN_CLASS, evas_object_evas_get(obj));
-   pan_data = eo_data_get(priv->pan_obj, MY_PAN_CLASS);
+   pan_data = eo_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
+   eo_data_ref(obj, NULL);
    pan_data->wobj = obj;
    pan_data->wsd = priv;
 
@@ -2547,7 +2558,7 @@ elm_gengrid_item_size_set(Evas_Object *obj,
 }
 
 static void
-_item_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_size_set(Eo *obj, void *_pd, va_list *list)
 {
    Evas_Coord w = va_arg(*list, Evas_Coord);
    Evas_Coord h = va_arg(*list, Evas_Coord);
@@ -2557,7 +2568,7 @@ _item_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    sd->item_width = w;
    sd->item_height = h;
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 }
 
 EAPI void
@@ -2590,7 +2601,7 @@ elm_gengrid_group_item_size_set(Evas_Object *obj,
 }
 
 static void
-_group_item_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_group_item_size_set(Eo *obj, void *_pd, va_list *list)
 {
    Evas_Coord w = va_arg(*list, Evas_Coord);
    Evas_Coord h = va_arg(*list, Evas_Coord);
@@ -2600,7 +2611,7 @@ _group_item_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    sd->group_item_width = w;
    sd->group_item_height = h;
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 }
 
 EAPI void
@@ -2694,7 +2705,7 @@ elm_gengrid_item_append(Evas_Object *obj,
 }
 
 static void
-_item_append(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_append(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Gen_Item *it;
 
@@ -2717,7 +2728,7 @@ _item_append(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
      sd->group_items = eina_list_prepend(sd->group_items, it);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 
    *ret = (Elm_Object_Item *)it;
 }
@@ -2736,7 +2747,7 @@ elm_gengrid_item_prepend(Evas_Object *obj,
 }
 
 static void
-_item_prepend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_prepend(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Gen_Item *it;
 
@@ -2758,7 +2769,7 @@ _item_prepend(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
      sd->group_items = eina_list_append(sd->group_items, it);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 
    *ret = (Elm_Object_Item *)it;
 }
@@ -2778,7 +2789,7 @@ elm_gengrid_item_insert_before(Evas_Object *obj,
 }
 
 static void
-_item_insert_before(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_insert_before(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Gen_Item *it;
    Eina_Inlist *tmp;
@@ -2806,7 +2817,7 @@ _item_insert_before(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
          (sd->group_items, it, ((Elm_Gen_Item *)relative)->parent);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 
    *ret = (Elm_Object_Item *)it;
 }
@@ -2826,7 +2837,7 @@ elm_gengrid_item_insert_after(Evas_Object *obj,
 }
 
 static void
-_item_insert_after(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_insert_after(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Gen_Item *it;
    Eina_Inlist *tmp;
@@ -2854,7 +2865,7 @@ _item_insert_after(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
          (sd->group_items, it, ((Elm_Gen_Item *)relative)->parent);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 
    *ret = (Elm_Object_Item *)it;
 }
@@ -2874,7 +2885,7 @@ elm_gengrid_item_sorted_insert(Evas_Object *obj,
 }
 
 static void
-_item_sorted_insert(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_item_sorted_insert(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Gen_Item *it;
 
@@ -2902,7 +2913,7 @@ _item_sorted_insert(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    _item_position_update(sd->items, 0);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 
    *ret = (Elm_Object_Item *)it;
 }
@@ -2916,7 +2927,7 @@ elm_gengrid_horizontal_set(Evas_Object *obj,
 }
 
 static void
-_horizontal_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_horizontal_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool horizontal = va_arg(*list, int);
    Elm_Gengrid_Smart_Data *sd = _pd;
@@ -2927,7 +2938,7 @@ _horizontal_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
 
    /* Update the items to conform to the new layout */
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
 }
 
 EAPI Eina_Bool
index d9317c3..64ab5c7 100644 (file)
@@ -255,7 +255,7 @@ _elm_genlist_pan_smart_move(Eo *obj, void *_pd, va_list *list)
 static void
 _elm_genlist_pan_smart_resize_job(void *data)
 {
-   Elm_Genlist_Pan_Smart_Data *psd = data;
+   ELM_GENLIST_PAN_DATA_GET(data, psd);
 
    elm_layout_sizing_eval(psd->wobj);
    psd->resize_job = NULL;
@@ -277,7 +277,7 @@ _elm_genlist_pan_smart_resize(Eo *obj, void *_pd, va_list *list)
         /* fix me later */
         if (psd->resize_job) ecore_job_del(psd->resize_job);
         psd->resize_job =
-          ecore_job_add(_elm_genlist_pan_smart_resize_job, psd);
+          ecore_job_add(_elm_genlist_pan_smart_resize_job, obj);
      }
    psd->wsd->pan_changed = EINA_TRUE;
    evas_object_smart_changed(obj);
@@ -286,7 +286,7 @@ _elm_genlist_pan_smart_resize(Eo *obj, void *_pd, va_list *list)
    // away or appesared to queue a job to deal with it. it should settle in
    // the end to a steady-state
    if (ow != w)
-     psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wsd);
+     psd->wsd->calc_job = ecore_job_add(_calc_job, psd->wobj);
    else
      psd->wsd->calc_job = NULL;
 }
@@ -430,10 +430,10 @@ _item_block_unrealize(Item_Block *itb)
 static Eina_Bool
 _must_recalc_idler(void *data)
 {
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, data);
    sd->must_recalc_idler = NULL;
    return ECORE_CALLBACK_CANCEL;
 }
@@ -444,7 +444,7 @@ _calc_job(void *data)
    int in = 0;
    Item_Block *itb, *chb = NULL;
    Evas_Coord pan_w = 0, pan_h = 0;
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
    Eina_Bool minw_change = EINA_FALSE;
    Eina_Bool did_must_recalc = EINA_FALSE;
    Evas_Coord minw = -1, minh = 0, y = 0, ow, dy = 0, vw = 0;
@@ -553,7 +553,7 @@ _calc_job(void *data)
    if (did_must_recalc)
      {
         if (!sd->must_recalc_idler)
-          sd->must_recalc_idler = ecore_idler_add(_must_recalc_idler, sd);
+          sd->must_recalc_idler = ecore_idler_add(_must_recalc_idler, data);
      }
    if (sd->check_scroll)
      {
@@ -600,7 +600,7 @@ _elm_genlist_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord vmw = 0, vmh = 0;
 
    Elm_Genlist_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->on_sub_del) return;;
 
@@ -625,7 +625,7 @@ _elm_genlist_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
                   itb->must_recalc = EINA_TRUE;
                }
              if (sd->calc_job) ecore_job_del(sd->calc_job);
-             sd->calc_job = ecore_job_add(_calc_job, sd);
+             sd->calc_job = ecore_job_add(_calc_job, obj);
           }
         minw = vmw;
         minh = vmh;
@@ -1697,7 +1697,7 @@ _tree_effect_animator_cb(void *data)
    const Eina_List *l;
    int y = 0, dy = 0, dh = 0;
    double effect_duration = 0.3, t;
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
    Eina_Bool end = EINA_FALSE, vis = EINA_TRUE;
    Evas_Coord ox, oy, ow, oh, cvx, cvy, cvw, cvh;
    Elm_Gen_Item *it = NULL, *it2, *expanded_next_it;
@@ -2109,7 +2109,7 @@ _elm_genlist_pan_smart_calculate(Eo *obj EINA_UNUSED, void *_pd, va_list *list E
 
    if (psd->wsd->pan_changed)
      {
-        _calc_job(psd->wsd);
+        _calc_job(psd->wsd->obj);
         psd->wsd->pan_changed = EINA_FALSE;
      }
 
@@ -2130,7 +2130,7 @@ _elm_genlist_pan_smart_calculate(Eo *obj EINA_UNUSED, void *_pd, va_list *list E
              evas_object_show(psd->wsd->alpha_bg);
              psd->wsd->start_time = ecore_time_get();
              psd->wsd->tree_effect_animator =
-               ecore_animator_add(_tree_effect_animator_cb, psd->wsd);
+               ecore_animator_add(_tree_effect_animator_cb, psd->wsd->obj);
           }
      }
 
@@ -2183,9 +2183,19 @@ _elm_genlist_pan_smart_calculate(Eo *obj EINA_UNUSED, void *_pd, va_list *list E
 }
 
 static void
+_elm_genlist_pan_destructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Elm_Genlist_Pan_Smart_Data *psd = _pd;
+   eo_data_unref(psd->wobj, psd->wsd);
+   eo_do_super(obj, MY_PAN_CLASS, eo_destructor());
+}
+
+static void
 _genlist_pan_class_constructor(Eo_Class *klass)
 {
       const Eo_Op_Func_Description func_desc[] = {
+           EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _elm_genlist_pan_destructor),
+
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_genlist_pan_smart_del),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _elm_genlist_pan_smart_resize),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _elm_genlist_pan_smart_move),
@@ -2623,7 +2633,7 @@ _mirrored_set(Evas_Object *obj,
 }
 
 static void
-_elm_genlist_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+_elm_genlist_smart_theme(Eo *obj, void *_pd, va_list *list)
 {
    Item_Block *itb;
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -2635,7 +2645,7 @@ _elm_genlist_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
 
-   evas_event_freeze(evas_object_evas_get(sd->obj));
+   evas_event_freeze(evas_object_evas_get(obj));
    _item_cache_zero(sd);
    _mirrored_set(obj, elm_widget_mirrored_get(obj));
 
@@ -2654,10 +2664,10 @@ _elm_genlist_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
         itb->changed = EINA_TRUE;
      }
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, obj);
    elm_layout_sizing_eval(obj);
-   evas_event_thaw(evas_object_evas_get(sd->obj));
-   evas_event_thaw_eval(evas_object_evas_get(sd->obj));
+   evas_event_thaw(evas_object_evas_get(obj));
+   evas_event_thaw_eval(evas_object_evas_get(obj));
 
    if (ret) *ret = EINA_TRUE;
 }
@@ -2800,7 +2810,7 @@ _item_block_del(Elm_Gen_Item *it)
    itb->count--;
    itb->changed = EINA_TRUE;
    if (GL_IT(it)->wsd->calc_job) ecore_job_del(GL_IT(it)->wsd->calc_job);
-   GL_IT(it)->wsd->calc_job = ecore_job_add(_calc_job, GL_IT(it)->wsd);
+   GL_IT(it)->wsd->calc_job = ecore_job_add(_calc_job, GL_IT(it)->wsd->obj);
    if (itb->count < 1)
      {
         Item_Block *itbn;
@@ -2953,7 +2963,7 @@ _elm_genlist_item_del_serious(Elm_Gen_Item *it)
      }
    if (GL_IT(it)->wsd->calc_job) ecore_job_del(GL_IT(it)->wsd->calc_job);
    GL_IT(it)->wsd->calc_job =
-     ecore_job_add(_calc_job, GL_IT(it)->wsd);
+     ecore_job_add(_calc_job, GL_IT(it)->wsd->obj);
 
    if (GL_IT(it)->wsd->last_selected_item == (Elm_Object_Item *)it)
      GL_IT(it)->wsd->last_selected_item = NULL;
@@ -3108,7 +3118,7 @@ _item_mouse_move_cb(void *data,
                _item_position(it, VIEW(it), it->item->scrl_x, y_pos);
 
              if (sd->calc_job) ecore_job_del(sd->calc_job);
-             sd->calc_job = ecore_job_add(_calc_job, sd);
+             sd->calc_job = ecore_job_add(_calc_job, sd->obj);
           }
         return;
      }
@@ -3256,7 +3266,7 @@ _swipe_cancel(void *data)
 static Eina_Bool
 _multi_cancel(void *data)
 {
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
 
    if (!sd) return ECORE_CALLBACK_CANCEL;
    sd->multi_timeout = EINA_TRUE;
@@ -3439,7 +3449,7 @@ _item_mouse_down_cb(void *data,
         sd->prev_y = ev->canvas.y;
         sd->multi_timeout = EINA_FALSE;
         if (sd->multi_timer) ecore_timer_del(sd->multi_timer);
-        sd->multi_timer = ecore_timer_add(MULTI_DOWN_TIME, _multi_cancel, sd);
+        sd->multi_timer = ecore_timer_add(MULTI_DOWN_TIME, _multi_cancel, sd->obj);
      }
    sd->longpressed = EINA_FALSE;
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) sd->on_hold = EINA_TRUE;
@@ -3665,7 +3675,7 @@ newblock:
    itb->changed = EINA_TRUE;
    it->item->block = itb;
    if (itb->sd->calc_job) ecore_job_del(itb->sd->calc_job);
-   itb->sd->calc_job = ecore_job_add(_calc_job, itb->sd);
+   itb->sd->calc_job = ecore_job_add(_calc_job, itb->sd->obj);
 
    if (itb->count > itb->sd->max_items_per_block)
      {
@@ -3780,7 +3790,7 @@ _item_process_post(Elm_Genlist_Smart_Data *sd,
           {
              if (sd->calc_job) ecore_job_del(sd->calc_job);
              sd->calc_job = NULL;
-             _calc_job(sd);
+             _calc_job(sd->obj);
              sd->pan_changed = EINA_FALSE;
           }
      }
@@ -3857,14 +3867,14 @@ static Eina_Bool
 _item_idle_enterer(void *data)
 {
    Eina_Bool wakeup = EINA_FALSE;
-   Elm_Genlist_Smart_Data *sd = data;
-   Eina_Bool ok = _idle_process(data, &wakeup);
+   ELM_GENLIST_DATA_GET(data, sd);
+   Eina_Bool ok = _idle_process(sd, &wakeup);
 
    if (wakeup)
      {
         // wake up mainloop
         if (sd->calc_job) ecore_job_del(sd->calc_job);
-        sd->calc_job = ecore_job_add(_calc_job, sd);
+        sd->calc_job = ecore_job_add(_calc_job, data);
      }
    if (ok == ECORE_CALLBACK_CANCEL) sd->queue_idle_enterer = NULL;
 
@@ -3908,7 +3918,7 @@ _item_queue(Elm_Genlist_Smart_Data *sd,
 //   evas_event_thaw(evas_object_evas_get(sd->obj));
 //   evas_event_thaw_eval(evas_object_evas_get(sd->obj));
    if (!sd->queue_idle_enterer)
-     sd->queue_idle_enterer = ecore_idle_enterer_add(_item_idle_enterer, sd);
+     sd->queue_idle_enterer = ecore_idle_enterer_add(_item_idle_enterer, sd->obj);
 }
 
 /* If the application wants to know the relative item, use
@@ -4082,7 +4092,7 @@ _item_mouse_up_cb(void *data,
         else
           {
              if (sd->calc_job) ecore_job_del(sd->calc_job);
-             sd->calc_job = ecore_job_add(_calc_job, sd);
+             sd->calc_job = ecore_job_add(_calc_job, sd->obj);
           }
         edje_object_signal_emit(VIEW(it), "elm,state,reorder,disabled", "elm");
         sd->reorder_it = sd->reorder_rel = NULL;
@@ -4184,7 +4194,7 @@ _item_mouse_callbacks_del(Elm_Gen_Item *it,
 static Eina_Bool
 _scroll_hold_timer_cb(void *data)
 {
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
 
    if (!data) return ECORE_CALLBACK_CANCEL;
 
@@ -4440,7 +4450,7 @@ static void
 _update_job(void *data)
 {
    Eina_Bool position = EINA_FALSE, recalc = EINA_FALSE;
-   Elm_Genlist_Smart_Data *sd = data;
+   ELM_GENLIST_DATA_GET(data, sd);
    Item_Block *itb;
    Eina_List *l2;
    int num, num0;
@@ -4499,7 +4509,7 @@ _update_job(void *data)
    if (position)
      {
         if (sd->calc_job) ecore_job_del(sd->calc_job);
-        sd->calc_job = ecore_job_add(_calc_job, sd);
+        sd->calc_job = ecore_job_add(_calc_job, sd->obj);
      }
    evas_event_thaw(evas_object_evas_get(sd->obj));
    evas_event_thaw_eval(evas_object_evas_get(sd->obj));
@@ -4691,7 +4701,7 @@ _decorate_item_set(Elm_Gen_Item *it)
         sd->scr_hold_timer = NULL;
      }
    eo_do(sd->obj, elm_scrollable_interface_hold_set(EINA_TRUE));
-   sd->scr_hold_timer = ecore_timer_add(SCR_HOLD_TIME, _scroll_hold_timer_cb, sd);
+   sd->scr_hold_timer = ecore_timer_add(SCR_HOLD_TIME, _scroll_hold_timer_cb, sd->obj);
 
    evas_event_freeze(evas_object_evas_get(sd->obj));
    _decorate_item_realize(it);
@@ -4734,7 +4744,7 @@ _elm_genlist_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Elm_Genlist_Pan_Smart_Data *pan_data;
 
    Elm_Genlist_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -4785,7 +4795,8 @@ _elm_genlist_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    priv->highlight = EINA_TRUE;
 
    priv->pan_obj = eo_add(MY_PAN_CLASS, evas_object_evas_get(obj));
-   pan_data = eo_data_get(priv->pan_obj, MY_PAN_CLASS);
+   pan_data = eo_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
+   eo_data_ref(obj, NULL);
    pan_data->wobj = obj;
    pan_data->wsd = priv;
 
@@ -5146,7 +5157,7 @@ _item_del_pre_hook(Elm_Object_Item *item)
              if (GL_IT(it)->wsd->calc_job)
                ecore_job_del(GL_IT(it)->wsd->calc_job);
              GL_IT(it)->wsd->calc_job =
-               ecore_job_add(_calc_job, GL_IT(it)->wsd);
+               ecore_job_add(_calc_job, GL_IT(it)->wsd->obj);
           }
         if (it->parent)
           {
@@ -5942,7 +5953,7 @@ elm_genlist_item_subitems_clear(Elm_Object_Item *item)
              evas_object_show(sd->alpha_bg);
              sd->start_time = ecore_time_get();
              sd->tree_effect_animator =
-               ecore_animator_add(_tree_effect_animator_cb, sd);
+               ecore_animator_add(_tree_effect_animator_cb, sd->obj);
           }
         else
           _item_sub_items_clear(it);
@@ -6263,7 +6274,7 @@ elm_genlist_item_update(Elm_Object_Item *item)
    it->item->updateme = EINA_TRUE;
    it->item->block->updateme = EINA_TRUE;
    if (GL_IT(it)->wsd->update_job) ecore_job_del(GL_IT(it)->wsd->update_job);
-   GL_IT(it)->wsd->update_job = ecore_job_add(_update_job, GL_IT(it)->wsd);
+   GL_IT(it)->wsd->update_job = ecore_job_add(_update_job, GL_IT(it)->wsd->obj);
 }
 
 EAPI void
@@ -6988,7 +6999,7 @@ _decorate_mode_set(Eo *obj, void *_pd, va_list *valist)
      }
 
    if (sd->calc_job) ecore_job_del(sd->calc_job);
-   sd->calc_job = ecore_job_add(_calc_job, sd);
+   sd->calc_job = ecore_job_add(_calc_job, sd->obj);
 }
 
 EAPI void
@@ -7119,7 +7130,7 @@ _flip_job(void *data)
    it->flipped = EINA_TRUE;
    it->item->nocache = EINA_TRUE;
    if (GL_IT(it)->wsd->calc_job) ecore_job_del(GL_IT(it)->wsd->calc_job);
-   GL_IT(it)->wsd->calc_job = ecore_job_add(_calc_job, GL_IT(it)->wsd);
+   GL_IT(it)->wsd->calc_job = ecore_job_add(_calc_job, GL_IT(it)->wsd->obj);
 }
 
 EAPI void
@@ -7252,7 +7263,7 @@ elm_genlist_item_select_mode_set(Elm_Object_Item *item,
         if (GL_IT(it)->wsd->update_job)
           ecore_job_del(GL_IT(it)->wsd->update_job);
         GL_IT(it)->wsd->update_job =
-          ecore_job_add(_update_job, GL_IT(it)->wsd);
+          ecore_job_add(_update_job, GL_IT(it)->wsd->obj);
 
         // reset homogeneous item size
         if (GL_IT(it)->wsd->homogeneous)
index 2bac755..c45ed00 100644 (file)
@@ -53,7 +53,7 @@ _glayer_buf_dup(void *buf, size_t size)
   ((sd->gesture[T]) ? sd->gesture[T]->test : EINA_FALSE)
 
 #define ELM_GESTURE_LAYER_DATA_GET(o, sd) \
-  Elm_Gesture_Layer_Smart_Data * sd = eo_data_get(o, MY_CLASS)
+  Elm_Gesture_Layer_Smart_Data * sd = eo_data_scope_get(o, MY_CLASS)
 
 #define ELM_GESTURE_LAYER_DATA_GET_OR_RETURN(o, ptr) \
   ELM_GESTURE_LAYER_DATA_GET(o, ptr);                \
index e181b78..b2f7a36 100644 (file)
@@ -33,7 +33,7 @@ static void
 _elm_glview_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (elm_widget_focus_get(obj))
      {
@@ -53,7 +53,7 @@ static void
 _glview_update_surface(Evas_Object *obj)
 {
    ELM_GLVIEW_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    if (!sd) return;
 
    if (sd->surface)
@@ -159,7 +159,7 @@ static void
 _set_render_policy_callback(Evas_Object *obj)
 {
    ELM_GLVIEW_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    switch (sd->render_policy)
      {
@@ -327,7 +327,7 @@ _mode_set(Eo *obj, void *_pd, va_list *list)
    Elm_GLView_Mode mode = va_arg(*list, Elm_GLView_Mode);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    Elm_Glview_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    // Set the configs
    if (mode & ELM_GLVIEW_ALPHA) sd->config->color_format = EVAS_GL_RGBA_8888;
@@ -551,7 +551,7 @@ static void
 _changed_set(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Glview_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_image_pixels_dirty_set
      (wd->resize_obj, EINA_TRUE);
index e1a22b3..6f7b373 100644 (file)
@@ -126,7 +126,7 @@ _elm_grid_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 static void
 _elm_grid_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Evas_Object *grid = evas_object_grid_add(evas_object_evas_get(obj));
    elm_widget_resize_object_set(obj, grid);
    evas_object_grid_size_set(wd->resize_obj, 100, 100);
@@ -338,7 +338,7 @@ static void
 _children_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_List **ret = va_arg(*list, Eina_List **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = evas_object_grid_children_get(wd->resize_obj);
    return;
 }
index 3ec456d..dfc0d94 100644 (file)
@@ -306,7 +306,7 @@ _elm_hover_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    if (elm_widget_mirrored_get(obj)) ofs_x = w - (x2 - x) - w2;
    else ofs_x = x2 - x;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_move(wd->resize_obj, x, y);
    evas_object_resize(wd->resize_obj, w, h);
    evas_object_size_hint_min_set(sd->offset, ofs_x, y2 - y);
index ef04191..1971b1c 100644 (file)
@@ -251,7 +251,7 @@ _icon_thumb_apply_cb(void *data,
                      int type __UNUSED__,
                      void *ev __UNUSED__)
 {
-   Elm_Icon_Smart_Data *sd = data;
+   ELM_ICON_DATA_GET(data, sd);
 
    _icon_thumb_apply(sd);
 
@@ -368,7 +368,7 @@ _elm_icon_smart_file_set(Eo *obj, void *_pd, va_list *list)
    Evas_Object *pclip;
 
    Elm_Icon_Smart_Data *sd = _pd;
-   Elm_Image_Smart_Data *id = eo_data_get(obj, ELM_OBJ_IMAGE_CLASS);
+   Elm_Image_Smart_Data *id = eo_data_scope_get(obj, ELM_OBJ_IMAGE_CLASS);
 
    const char *file = va_arg(*list, const char *);
    const char *key = va_arg(*list, const char *);
@@ -578,13 +578,13 @@ _elm_icon_standard_resize_cb(void *data,
                              Evas_Object *obj,
                              void *event_info __UNUSED__)
 {
-   Elm_Icon_Smart_Data *sd = data;
+   ELM_ICON_DATA_GET(data, sd);
    const char *refup = eina_stringshare_ref(sd->stdicon);
    Eina_Bool fdo = EINA_FALSE;
 
    if (!_elm_icon_standard_set(obj, sd->stdicon, &fdo) || (!fdo))
      evas_object_event_callback_del_full
-       (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, sd);
+       (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, data);
    eina_stringshare_del(refup);
 }
 
@@ -595,7 +595,7 @@ _elm_icon_thumb_resize_cb(void *data,
                           Evas_Object *obj,
                           void *event_info __UNUSED__)
 {
-   Elm_Icon_Smart_Data *sd = data;
+   ELM_ICON_DATA_GET(data, sd);
 
    if (sd->thumb.file.path)
      elm_icon_thumb_set(obj, sd->thumb.file.path, sd->thumb.file.key);
@@ -652,7 +652,7 @@ _elm_icon_signal_emit(Evas_Object *obj,
                       const char *source)
 {
 
-   Elm_Image_Smart_Data *id = eo_data_get(obj, ELM_OBJ_IMAGE_CLASS);
+   Elm_Image_Smart_Data *id = eo_data_scope_get(obj, ELM_OBJ_IMAGE_CLASS);
 
    if (!id->edje) return;
 
@@ -681,7 +681,7 @@ _elm_icon_signal_callback_add(Evas_Object *obj,
    Edje_Signal_Data *esd;
 
    ELM_ICON_DATA_GET(obj, sd);
-   Elm_Image_Smart_Data *id = eo_data_get(obj, ELM_OBJ_IMAGE_CLASS);
+   Elm_Image_Smart_Data *id = eo_data_scope_get(obj, ELM_OBJ_IMAGE_CLASS);
 
    if (!id->edje) return;
 
@@ -712,7 +712,7 @@ _elm_icon_signal_callback_del(Evas_Object *obj,
    Eina_List *l;
 
    ELM_ICON_DATA_GET(obj, sd);
-   Elm_Image_Smart_Data *id = eo_data_get(obj, ELM_OBJ_IMAGE_CLASS);
+   Elm_Image_Smart_Data *id = eo_data_scope_get(obj, ELM_OBJ_IMAGE_CLASS);
 
    if (!id->edje) return NULL;
 
@@ -817,12 +817,12 @@ _thumb_set(Eo *obj, void *_pd, va_list *list)
    Elm_Icon_Smart_Data *sd = _pd;
 
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_thumb_resize_cb, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_thumb_resize_cb, obj);
 
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_thumb_resize_cb, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_thumb_resize_cb, obj);
 
    eina_stringshare_replace(&sd->thumb.file.path, file);
    eina_stringshare_replace(&sd->thumb.file.key, group);
@@ -836,7 +836,7 @@ _thumb_set(Eo *obj, void *_pd, va_list *list)
    if (!sd->thumb.eeh)
      {
         sd->thumb.eeh = ecore_event_handler_add
-            (ELM_ECORE_EVENT_ETHUMB_CONNECT, _icon_thumb_apply_cb, sd);
+            (ELM_ECORE_EVENT_ETHUMB_CONNECT, _icon_thumb_apply_cb, obj);
      }
 #else
    (void)obj;
@@ -900,11 +900,8 @@ elm_icon_standard_set(Evas_Object *obj,
 }
 
 static void
-_standard_set(Eo *obj, void *_pd, va_list *list)
+_standard_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
-
-   Elm_Icon_Smart_Data *sd = _pd;
-
    Eina_Bool fdo = EINA_FALSE;
    const char *name = va_arg(*list, const char *);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -916,13 +913,13 @@ _standard_set(Eo *obj, void *_pd, va_list *list)
      }
 
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
 
    Eina_Bool int_ret = _elm_icon_standard_set(obj, name, &fdo);
 
    if (fdo)
      evas_object_event_callback_add
-       (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, sd);
+       (obj, EVAS_CALLBACK_RESIZE, _elm_icon_standard_resize_cb, obj);
 
    if (ret) *ret = int_ret;
 }
index 535e50c..e0526ce 100644 (file)
@@ -50,7 +50,7 @@ _on_mouse_up(void *data,
 static Eina_Bool
 _elm_image_animate_cb(void *data)
 {
-   Elm_Image_Smart_Data *sd = data;
+   ELM_IMAGE_DATA_GET(data, sd);
 
    if (!sd->anim) return ECORE_CALLBACK_CANCEL;
 
@@ -1489,7 +1489,7 @@ elm_image_animated_play_set(Evas_Object *obj,
 }
 
 static void
-_elm_image_smart_animated_play_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_elm_image_smart_animated_play_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool play = va_arg(*list, int);
    Elm_Image_Smart_Data *sd = _pd;
@@ -1502,7 +1502,7 @@ _elm_image_smart_animated_play_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list
    if (play)
      {
         sd->anim_timer = ecore_timer_add
-            (sd->frame_duration, _elm_image_animate_cb, sd);
+            (sd->frame_duration, _elm_image_animate_cb, obj);
      }
    else
      {
index 570434b..f2da580 100644 (file)
@@ -213,7 +213,7 @@ _index_box_auto_fill(Evas_Object *obj,
 
    if (sd->level_active[level]) return;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_geometry_get(wd->resize_obj, NULL, NULL, NULL, &ih);
 
    rtl = elm_widget_mirrored_get(obj);
@@ -335,8 +335,8 @@ _elm_index_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Index_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
 
    _index_box_clear(obj, sd->bx[0], 0);
    _index_box_clear(obj, sd->bx[1], 1);
@@ -420,7 +420,7 @@ _elm_index_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_size_min_calc(wd->resize_obj, &minw, &minh);
    evas_object_size_hint_min_set(obj, minw, minh);
@@ -503,7 +503,7 @@ _sel_eval(Evas_Object *obj,
    int i, j, size, dh, dx, dy;
 
    ELM_INDEX_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    for (i = 0; i <= sd->level; i++)
      {
@@ -702,7 +702,7 @@ _on_mouse_down(void *data,
    Evas_Coord x, y, w;
 
    ELM_INDEX_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    if (ev->button != 1) return;
    sd->down = 1;
@@ -763,7 +763,7 @@ _on_mouse_move(void *data,
    char buf[1024];
 
    ELM_INDEX_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->down) return;
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
@@ -901,7 +901,7 @@ _elm_index_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord minw, minh;
 
    Elm_Index_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 26aa0da..ecc4073 100644 (file)
@@ -9,7 +9,7 @@ EAPI Eo_Op ELM_OBJ_PAN_BASE_ID = EO_NOOP;
 #define MY_PAN_CLASS_NAME "elm_pan"
 
 #define ELM_PAN_DATA_GET_OR_RETURN(o, ptr)                      \
-  Elm_Pan_Smart_Data *ptr = eo_data_get(o, MY_PAN_CLASS);       \
+  Elm_Pan_Smart_Data *ptr = eo_data_scope_get(o, MY_PAN_CLASS);       \
   if (!ptr)                                                     \
     {                                                           \
        CRITICAL("No smart data for object %p (%s)",             \
@@ -18,7 +18,7 @@ EAPI Eo_Op ELM_OBJ_PAN_BASE_ID = EO_NOOP;
     }
 
 #define ELM_PAN_DATA_GET_OR_RETURN_VAL(o, ptr, val)             \
-  Elm_Pan_Smart_Data *ptr = eo_data_get(o, MY_PAN_CLASS);       \
+  Elm_Pan_Smart_Data *ptr = eo_data_scope_get(o, MY_PAN_CLASS);       \
   if (!ptr)                                                     \
     {                                                           \
        CRITICAL("No smart data for object %p (%s)",             \
@@ -385,7 +385,7 @@ EAPI Eo_Op ELM_SCROLLABLE_INTERFACE_BASE_ID = EO_NOOP;
 #define ELM_SCROLL_IFACE_DATA_GET_OR_RETURN(o, ptr)     \
   Elm_Scrollable_Smart_Interface_Data *ptr =           \
     (!eo_isa(o, MY_SCROLLABLE_INTERFACE) ? NULL :      \
-     eo_data_get(o, MY_SCROLLABLE_INTERFACE));         \
+     eo_data_scope_get(o, MY_SCROLLABLE_INTERFACE));           \
   if (!ptr)                                             \
     {                                                   \
        CRITICAL("No interface data for object %p (%s)", \
@@ -396,7 +396,7 @@ EAPI Eo_Op ELM_SCROLLABLE_INTERFACE_BASE_ID = EO_NOOP;
 #define ELM_SCROLL_IFACE_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
   Elm_Scrollable_Smart_Interface_Data *ptr =                \
     (!eo_isa(o, MY_SCROLLABLE_INTERFACE) ? NULL :           \
-     eo_data_get(o, MY_SCROLLABLE_INTERFACE));              \
+     eo_data_scope_get(o, MY_SCROLLABLE_INTERFACE));                \
   if (!ptr)                                                  \
     {                                                        \
        CRITICAL("No interface data for object %p (%s)",      \
@@ -1286,11 +1286,10 @@ _elm_scroll_momentum_end(Elm_Scrollable_Smart_Interface_Data *sid)
 static Eina_Bool
 _elm_scroll_bounce_x_animator(void *data)
 {
-   Elm_Scrollable_Smart_Interface_Data *sid;
+   ELM_SCROLL_IFACE_DATA_GET_OR_RETURN_VAL(data, sid, EINA_FALSE);
    Evas_Coord x, y, dx, w, odx, ed, md;
    double t, p, dt, pd, r;
 
-   sid = data;
    t = ecore_loop_time_get();
    dt = t - sid->down.anim_start2;
    if (dt >= 0.0)
@@ -1343,11 +1342,10 @@ _elm_scroll_bounce_x_animator(void *data)
 static Eina_Bool
 _elm_scroll_bounce_y_animator(void *data)
 {
-   Elm_Scrollable_Smart_Interface_Data *sid;
+   ELM_SCROLL_IFACE_DATA_GET_OR_RETURN_VAL(data, sid, EINA_FALSE);
    Evas_Coord x, y, dy, h, ody, ed, md;
    double t, p, dt, pd, r;
 
-   sid = data;
    t = ecore_loop_time_get();
    dt = t - sid->down.anim_start3;
    if (dt >= 0.0)
@@ -1446,7 +1444,7 @@ _elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
                        sid->scrollto.x.animator = NULL;
                     }
                   sid->down.bounce_x_animator =
-                    ecore_animator_add(_elm_scroll_bounce_x_animator, sid);
+                    ecore_animator_add(_elm_scroll_bounce_x_animator, sid->obj);
                   sid->down.anim_start2 = ecore_loop_time_get();
                   sid->down.bx = bx;
                   sid->down.bx0 = bx;
@@ -1470,7 +1468,7 @@ _elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
                        sid->scrollto.y.animator = NULL;
                     }
                   sid->down.bounce_y_animator =
-                    ecore_animator_add(_elm_scroll_bounce_y_animator, sid);
+                    ecore_animator_add(_elm_scroll_bounce_y_animator, sid->obj);
                   sid->down.anim_start3 = ecore_loop_time_get();
                   sid->down.by = by;
                   sid->down.by0 = by;
index 8846878..3841cf3 100644 (file)
@@ -22,7 +22,7 @@ _elm_inwin_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_
    Evas_Object *content;
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    content = elm_layout_content_get(obj, NULL);
 
@@ -133,7 +133,7 @@ elm_win_inwin_activate(Evas_Object *obj)
 static void
 _elm_inwin_smart_activate(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_raise(obj);
    evas_object_show(obj);
index 2616697..e9b0bc0 100644 (file)
@@ -28,7 +28,7 @@ static void
 _recalc(void *data)
 {
    ELM_LABEL_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Coord minw = -1, minh = -1;
    Evas_Coord resw;
@@ -76,7 +76,7 @@ _label_slide_change(Evas_Object *obj)
    int plainlen = 0;
 
    ELM_LABEL_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_signal_emit(wd->resize_obj, "elm,state,slide,stop", "elm");
 
@@ -157,7 +157,7 @@ _elm_label_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_event_freeze(evas_object_evas_get(obj));
 
@@ -181,7 +181,7 @@ _elm_label_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_
    Evas_Coord resw, resh;
 
    ELM_LABEL_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->linewrap)
      {
@@ -319,7 +319,7 @@ static void
 _elm_label_smart_text_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    const char *item = va_arg(*list, const char *);
    const char *label = va_arg(*list, const char *);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -374,7 +374,7 @@ static void
 _elm_label_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Label_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -444,7 +444,7 @@ _line_wrap_set(Eo *obj, void *_pd, va_list *list)
    int len;
 
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->linewrap == wrap) return;
 
@@ -511,7 +511,7 @@ _wrap_width_set(Eo *obj, void *_pd, va_list *list)
 {
    Evas_Coord w = va_arg(*list, Evas_Coord);
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (w < 0) w = 0;
 
@@ -558,7 +558,7 @@ _ellipsis_set(Eo *obj, void *_pd, va_list *list)
    const char *text;
 
    Elm_Label_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->ellipsis == ellipsis) return;
    sd->ellipsis = ellipsis;
index 85e9dff..65fca7d 100644 (file)
@@ -93,7 +93,7 @@ _on_sub_object_size_hint_change(void *data,
                                 Evas_Object *obj __UNUSED__,
                                 void *event_info __UNUSED__)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
    if (wd->frozen) return;
    eo_do(data, elm_obj_layout_sizing_eval());
 }
@@ -112,7 +112,7 @@ static void
 _sizing_eval(Evas_Object *obj, Elm_Layout_Smart_Data *sd)
 {
    Evas_Coord minh = -1, minw = -1;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    edje_object_size_min_calc(wd->resize_obj, &minw, &minh);
    evas_object_size_hint_min_set(obj, minw, minh);
    evas_object_size_hint_max_set(obj, -1, -1);
@@ -140,7 +140,7 @@ _icon_signal_emit(Elm_Layout_Smart_Data *sd,
    snprintf(buf, sizeof(buf), "elm,state,%s,%s", type,
             visible ? "visible" : "hidden");
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    edje_object_signal_emit(wd->resize_obj, buf, "elm");
 
    /* themes might need immediate action here */
@@ -158,7 +158,7 @@ _text_signal_emit(Elm_Layout_Smart_Data *sd,
    if (sub_d->type != TEXT || strcmp("elm.text", sub_d->part))
      return;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    if (strncmp(sub_d->part, "elm.text.", sizeof("elm.text.") - 1) == 0)
      type = sub_d->part + sizeof("elm.text.") - 1;
@@ -197,7 +197,7 @@ _parts_text_fix(Elm_Layout_Smart_Data *sd)
 {
    const Eina_List *l;
    Elm_Layout_Sub_Object_Data *sub_d;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    EINA_LIST_FOREACH(sd->subs, l, sub_d)
      {
@@ -224,7 +224,7 @@ _parts_cursors_apply(Elm_Layout_Smart_Data *sd)
    const Eina_List *l;
    const char *file, *group;
    Elm_Layout_Sub_Object_Cursor *pc;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_file_get(wd->resize_obj, &file, &group);
 
@@ -277,7 +277,7 @@ _visuals_refresh(Evas_Object *obj,
 
    eo_do(obj, elm_obj_layout_sizing_eval());
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   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);
@@ -289,7 +289,7 @@ _visuals_refresh(Evas_Object *obj,
 static void
 _elm_layout_smart_disable(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
 
@@ -313,7 +313,7 @@ _elm_layout_smart_theme(Eo *obj, void *_pd, va_list *list)
    const char *fh;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -364,7 +364,7 @@ _elm_layout_list_data_get(const Eina_List *list)
 static void
 _elm_layout_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
@@ -459,7 +459,7 @@ _elm_layout_smart_sub_object_del(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_event_callback_del_full
      (sobj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
@@ -537,7 +537,7 @@ _elm_layout_smart_signal_emit(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    const char *emission = va_arg(*list, const char *);
    const char *source = va_arg(*list, const char *);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_signal_emit(wd->resize_obj, emission, source);
 }
@@ -564,7 +564,7 @@ _elm_layout_smart_signal_callback_add(Eo *obj, void *_pd, va_list *list)
    Edje_Signal_Data *esd;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    esd = ELM_NEW(Edje_Signal_Data);
    if (!esd) return;
@@ -595,7 +595,7 @@ _elm_layout_smart_signal_callback_del(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = NULL;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    EINA_LIST_FOREACH(sd->edje_signals, l, esd)
      {
@@ -674,7 +674,7 @@ _elm_layout_part_aliasing_eval(const Evas_Object *obj EINA_UNUSED,
 
    if (!*part)
      {
-        Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+        Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
         ERR("no default content part set for object %p -- "
             "part must not be NULL", wd->obj);
         return EINA_FALSE;
@@ -697,7 +697,7 @@ _elm_layout_smart_text_set(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!_elm_layout_part_aliasing_eval(obj, sd, &part, EINA_TRUE))
      return;
@@ -755,7 +755,7 @@ static void
 _elm_layout_smart_text_get(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    const char *part = va_arg(*list, const char *);
    const char **text = va_arg(*list, const char **);
@@ -779,7 +779,7 @@ _elm_layout_smart_content_set(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!_elm_layout_part_aliasing_eval(obj, sd, &part, EINA_FALSE))
      return;
@@ -869,7 +869,7 @@ _elm_layout_smart_content_unset(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = NULL;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!_elm_layout_part_aliasing_eval(obj, sd, &part, EINA_FALSE))
      return;
@@ -910,7 +910,7 @@ _elm_layout_smart_box_append(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!edje_object_part_box_append
          (wd->resize_obj, part, child))
@@ -950,7 +950,7 @@ _elm_layout_smart_box_prepend(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!edje_object_part_box_prepend
          (wd->resize_obj, part, child))
@@ -1001,7 +1001,7 @@ _elm_layout_smart_box_insert_before(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!edje_object_part_box_insert_before
          (wd->resize_obj, part, child, reference))
@@ -1047,7 +1047,7 @@ _elm_layout_smart_box_insert_at(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!edje_object_part_box_insert_at
          (wd->resize_obj, part, child, pos))
@@ -1091,7 +1091,7 @@ _sub_box_remove(Evas_Object *obj,
        ((Evas_Object *)sub_d->p.box.reference,
        EVAS_CALLBACK_DEL, _box_reference_del, sub_d);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_box_remove
      (wd->resize_obj, sub_d->part, child);
 
@@ -1161,7 +1161,7 @@ _elm_layout_smart_box_remove_all(Eo *obj, void *_pd, va_list *list)
    EINA_SAFETY_ON_NULL_RETURN(part);
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Elm_Layout_Sub_Object_Data *sub_d;
    Eina_List *lst;
@@ -1201,7 +1201,7 @@ _elm_layout_smart_table_pack(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!edje_object_part_table_pack
          (wd->resize_obj, part, child, col,
@@ -1243,7 +1243,7 @@ _sub_table_remove(Evas_Object *obj,
                   Elm_Layout_Sub_Object_Data *sub_d)
 {
    Evas_Object *child;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    child = sub_d->obj; /* sub_d will die in _elm_layout_smart_sub_object_del */
 
@@ -1300,7 +1300,7 @@ _elm_layout_smart_table_clear(Eo *obj, void *_pd, va_list *list)
    EINA_SAFETY_ON_NULL_RETURN(part);
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Elm_Layout_Sub_Object_Data *sub_d;
    Eina_List *lst;
@@ -1362,7 +1362,7 @@ _elm_layout_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Eina_List *l;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_layout_freeze(obj);
 
@@ -1457,7 +1457,7 @@ _elm_layout_smart_file_set(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret =
      edje_object_file_set(wd->resize_obj, file, group);
@@ -1494,7 +1494,7 @@ _elm_layout_smart_theme_set(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eina_stringshare_replace(&(sd->klass), klass);
    eina_stringshare_replace(&(sd->group), group);
@@ -1730,7 +1730,7 @@ _elm_layout_smart_edje_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object **ret = va_arg(*list, Evas_Object **);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = wd->resize_obj;
 }
@@ -1751,7 +1751,7 @@ _elm_layout_smart_data_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    const char *key = va_arg(*list, const char *);
    const char **ret = va_arg(*list, const char **);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = edje_object_data_get(wd->resize_obj, key);
 }
@@ -1778,7 +1778,7 @@ _elm_layout_smart_freeze(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    int *ret = va_arg(*list, int *);
    int int_ret = 1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if ((wd->frozen)++ != 0)
      {
@@ -1807,7 +1807,7 @@ _elm_layout_smart_thaw(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    int *ret = va_arg(*list, int *);
    int int_ret = 0;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (--(wd->frozen) != 0)
      {
@@ -1843,7 +1843,7 @@ _elm_layout_smart_part_cursor_set(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
 
    Elm_Layout_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    EINA_SAFETY_ON_NULL_RETURN(part_name);
 
    Evas_Object *part_obj;
@@ -2092,7 +2092,7 @@ _elm_layout_smart_edje_object_can_access_set(Eo *obj, void *_pd EINA_UNUSED, va_
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    wd->can_access = !!can_access;
    if (ret) *ret = EINA_TRUE;
@@ -2111,7 +2111,7 @@ static void
 _elm_layout_smart_edje_object_can_access_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = wd->can_access;
 }
@@ -2121,7 +2121,7 @@ _dbg_info_get(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eo_Dbg_Info *root = (Eo_Dbg_Info *) va_arg(*list, Eo_Dbg_Info *);
    eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root));
-   Elm_Widget_Smart_Data *wd = eo_data_get(eo_obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(eo_obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!wd) return;
 
index 865af45..9152587 100644 (file)
@@ -402,7 +402,7 @@ _elm_list_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    double xw, yw;
 
    Elm_List_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_size_hint_min_get(sd->box, &minw, &minh);
    evas_object_size_hint_max_get(sd->box, &maxw, &maxh);
@@ -461,8 +461,8 @@ _elm_list_content_min_limit_cb(Evas_Object *obj,
 static void
 _elm_list_mode_set_internal(Evas_Object *obj)
 {
-   Elm_List_Smart_Data *sd = eo_data_get(obj, MY_CLASS);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_List_Smart_Data *sd = eo_data_scope_get(obj, MY_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    if (sd->mode == ELM_LIST_LIMIT)
      {
         if (!sd->h_mode)
@@ -1593,7 +1593,7 @@ _elm_list_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord minw, minh;
 
    Elm_List_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 8761604..a66fa97 100644 (file)
@@ -579,7 +579,7 @@ _grid_item_in_viewport(Grid_Item *gi)
 static Eina_Bool
 _loaded_timeout_cb(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(data, EINA_FALSE);
 
@@ -621,7 +621,7 @@ _grid_item_update(Grid_Item *gi)
      }
 
    if (gi->wsd->loaded_timer) ecore_timer_del(gi->wsd->loaded_timer);
-   gi->wsd->loaded_timer = ecore_timer_add(0.25, _loaded_timeout_cb, gi->wsd);
+   gi->wsd->loaded_timer = ecore_timer_add(0.25, _loaded_timeout_cb, gi->wsd->obj);
 }
 
 static void
@@ -761,7 +761,7 @@ _downloaded_cb(void *data,
           ((gi->wsd)->obj, SIG_TILE_LOADED_FAIL, NULL);
      }
 
-   Elm_Widget_Smart_Data *wwd = eo_data_get(gi->wsd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wwd = eo_data_scope_get(gi->wsd->obj, ELM_OBJ_WIDGET_CLASS);
    gi->job = NULL;
    gi->wsd->download_num--;
    if (!gi->wsd->download_num)
@@ -772,11 +772,12 @@ _downloaded_cb(void *data,
 static Eina_Bool
 _download_job(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   Evas_Object *obj = data;
+   ELM_MAP_DATA_GET(obj, sd);
    Eina_List *l, *ll;
    Grid_Item *gi;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!eina_list_count(sd->download_list))
      {
@@ -807,7 +808,7 @@ _download_job(void *data)
            sd->try_num++;
            sd->download_num++;
            evas_object_smart_callback_call
-             (sd->obj, SIG_TILE_LOAD, NULL);
+             (obj, SIG_TILE_LOAD, NULL);
            if (sd->download_num == 1)
              edje_object_signal_emit(wd->resize_obj,
                                      "elm,state,busy,start", "elm");
@@ -913,7 +914,7 @@ _grid_place(Elm_Map_Smart_Data *sd)
         else _grid_unload(g);
      }
    if (!sd->download_idler)
-     sd->download_idler = ecore_idler_add(_download_job, sd);
+     sd->download_idler = ecore_idler_add(_download_job, sd->obj);
 }
 
 static void
@@ -1060,7 +1061,7 @@ _smooth_update(Elm_Map_Smart_Data *sd)
 static Eina_Bool
 _zoom_timeout_cb(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    _smooth_update(sd);
    sd->zoom_timer = NULL;
@@ -1125,7 +1126,7 @@ _zoom_do(Elm_Map_Smart_Data *sd,
      evas_object_smart_callback_call
        (sd->obj, SIG_ZOOM_START, NULL);
 
-   sd->zoom_timer = ecore_timer_add(0.25, _zoom_timeout_cb, sd);
+   sd->zoom_timer = ecore_timer_add(0.25, _zoom_timeout_cb, sd->obj);
    evas_object_smart_callback_call
      (sd->obj, SIG_ZOOM_CHANGE, NULL);
 
@@ -1136,7 +1137,7 @@ _zoom_do(Elm_Map_Smart_Data *sd,
 static Eina_Bool
 _zoom_anim_cb(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    if (sd->ani.cnt <= 0)
      {
@@ -1166,16 +1167,16 @@ _zoom_with_animation(Elm_Map_Smart_Data *sd,
    sd->ani.zoom = sd->zoom;
    sd->ani.diff = (double)(zoom - sd->zoom) / cnt;
    if (sd->zoom_animator) ecore_animator_del(sd->zoom_animator);
-   sd->zoom_animator = ecore_animator_add(_zoom_anim_cb, sd);
+   sd->zoom_animator = ecore_animator_add(_zoom_anim_cb, sd->obj);
 }
 
 static void
-_sizing_eval(Elm_Map_Smart_Data *sd)
+_sizing_eval(Evas_Object *obj)
 {
    Evas_Coord maxw = -1, maxh = -1;
 
-   evas_object_size_hint_max_get(sd->obj, &maxw, &maxh);
-   evas_object_size_hint_max_set(sd->obj, maxw, maxh);
+   evas_object_size_hint_max_get(obj, &maxw, &maxh);
+   evas_object_size_hint_max_set(obj, maxw, maxh);
 }
 
 static void
@@ -1190,7 +1191,7 @@ _changed_size_hints_cb(void *data,
 static Eina_Bool
 _scr_timeout_cb(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    _smooth_update(sd);
    sd->scr_timer = NULL;
@@ -1210,7 +1211,7 @@ _scroll_cb(Evas_Object *obj,
    else
      evas_object_smart_callback_call
        (sd->obj, SIG_SCROLL_DRAG_START, NULL);
-   sd->scr_timer = ecore_timer_add(0.25, _scr_timeout_cb, sd);
+   sd->scr_timer = ecore_timer_add(0.25, _scr_timeout_cb, obj);
    evas_object_smart_callback_call(sd->obj, SIG_SCROLL, NULL);
 }
 
@@ -1237,7 +1238,7 @@ _scroll_animate_stop_cb(Evas_Object *obj,
 static Eina_Bool
 _long_press_cb(void *data)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    sd->long_timer = NULL;
    evas_object_smart_callback_call
@@ -1252,7 +1253,7 @@ _mouse_down_cb(void *data,
                Evas_Object *obj __UNUSED__,
                void *event_info)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
    Evas_Event_Mouse_Down *ev = event_info;
 
    if (ev->button != 1) return;
@@ -1269,7 +1270,7 @@ _mouse_down_cb(void *data,
    if (sd->long_timer) ecore_timer_del(sd->long_timer);
    sd->ev = *ev;
    sd->long_timer =
-     ecore_timer_add(_elm_config->longpress_timeout, _long_press_cb, sd);
+     ecore_timer_add(_elm_config->longpress_timeout, _long_press_cb, data);
 }
 
 static void
@@ -1278,7 +1279,7 @@ _mouse_up_cb(void *data,
              Evas_Object *obj __UNUSED__,
              void *event_info)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
    Evas_Event_Mouse_Up *ev = event_info;
 
    EINA_SAFETY_ON_NULL_RETURN(ev);
@@ -1306,7 +1307,7 @@ _mouse_wheel_cb(void *data,
                 Evas_Object *obj __UNUSED__,
                 void *event_info)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    if (!sd->paused)
      {
@@ -2982,7 +2983,7 @@ _route_cb(void *data,
 
    route = data;
    sd = route->wsd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    route->job = NULL;
    if (status == 200)
@@ -3019,7 +3020,7 @@ _name_cb(void *data,
 
    name = data;
    sd = name->wsd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    name->job = NULL;
    if (status == 200)
@@ -3055,7 +3056,7 @@ _name_list_cb(void *data,
 
    name_list = data;
    sd = name_list->wsd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    name_list->job = NULL;
    if (status == 200)
@@ -3121,7 +3122,7 @@ _name_request(const Evas_Object *obj,
 
    ELM_MAP_DATA_GET(obj, sd);
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->src_name, NULL);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    fname = _prepare_download();
    url = sd->src_name->url_cb
@@ -3185,7 +3186,7 @@ _name_list_request(const Evas_Object *obj,
 
    ELM_MAP_DATA_GET(obj, sd);
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->src_name, NULL);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    fname = _prepare_download();
    url = sd->src_name->url_cb
@@ -3228,7 +3229,7 @@ static Evas_Event_Flags
 _pinch_zoom_start_cb(void *data,
                      void *event_info __UNUSED__)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(data, EVAS_EVENT_FLAG_NONE);
 
@@ -3241,7 +3242,7 @@ static Evas_Event_Flags
 _pinch_zoom_cb(void *data,
                void *event_info)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EVAS_EVENT_FLAG_NONE);
 
@@ -3259,7 +3260,7 @@ static Evas_Event_Flags
 _pinch_rotate_cb(void *data,
                  void *event_info)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EVAS_EVENT_FLAG_NONE);
 
@@ -3284,7 +3285,7 @@ static Evas_Event_Flags
 _pinch_rotate_end_cb(void *data,
                      void *event_info __UNUSED__)
 {
-   Elm_Map_Smart_Data *sd = data;
+   ELM_MAP_DATA_GET(data, sd);
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EVAS_EVENT_FLAG_NONE);
 
@@ -3767,7 +3768,7 @@ _elm_map_pan_smart_resize(Eo *obj, void *_pd, va_list *list)
 
    Elm_Map_Pan_Smart_Data *psd = _pd;
 
-   _sizing_eval(psd->wsd);
+   _sizing_eval(psd->wsd->obj);
    elm_map_zoom_mode_set(psd->wobj, psd->wsd->mode);
    evas_object_smart_changed(obj);
 }
@@ -3801,7 +3802,7 @@ _elm_map_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (elm_widget_focus_get(obj))
      {
@@ -3820,9 +3821,19 @@ _elm_map_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 }
 
 static void
+_elm_map_pan_destructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Elm_Map_Pan_Smart_Data *psd = _pd;
+   eo_data_unref(psd->wobj, psd->wsd);
+   eo_do_super(obj, MY_PAN_CLASS, eo_destructor());
+}
+
+static void
 _elm_map_pan_class_constructor(Eo_Class *klass)
 {
       const Eo_Op_Func_Description func_desc[] = {
+           EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _elm_map_pan_destructor),
+
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _elm_map_pan_smart_resize),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _elm_map_pan_smart_move),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_CALCULATE), _elm_map_pan_smart_calculate),
@@ -3852,17 +3863,16 @@ static const Eo_Class_Description _elm_map_pan_class_desc = {
 EO_DEFINE_CLASS(elm_obj_map_pan_class_get, &_elm_map_pan_class_desc, ELM_OBJ_PAN_CLASS, NULL);
 
 static void
-_elm_map_smart_theme(Eo *obj, void *_pd, va_list *list)
+_elm_map_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Map_Smart_Data *sd = _pd;
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
 
-   _sizing_eval(sd);
+   _sizing_eval(obj);
 
    if (ret) *ret = EINA_TRUE;
 }
@@ -3979,11 +3989,11 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    elm_widget_can_focus_set(obj, EINA_TRUE);
 
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, priv);
+     (obj, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, obj);
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, priv);
+     (obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, obj);
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, priv);
+     (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, obj);
 
    eo_do(obj,
          elm_scrollable_interface_objects_set(edje, priv->hit_rect),
@@ -3993,7 +4003,7 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
             _elm_config->thumbscroll_bounce_enable));
 
    evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-                                  _changed_size_hints_cb, priv);
+                                  _changed_size_hints_cb, obj);
 
    eo_do(obj,
          elm_scrollable_interface_animate_start_cb_set(_scroll_animate_start_cb),
@@ -4001,7 +4011,8 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
          elm_scrollable_interface_scroll_cb_set(_scroll_cb));
 
    priv->pan_obj = eo_add(MY_PAN_CLASS, evas_object_evas_get(obj));
-   pan_data = eo_data_get(priv->pan_obj, MY_PAN_CLASS);
+   pan_data = eo_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
+   eo_data_ref(obj, NULL);
    pan_data->wobj = obj;
    pan_data->wsd = priv;
 
@@ -4017,19 +4028,19 @@ _elm_map_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    elm_gesture_layer_attach(priv->g_layer, obj);
    elm_gesture_layer_cb_set
      (priv->g_layer, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_START,
-     _pinch_zoom_start_cb, priv);
+     _pinch_zoom_start_cb, obj);
    elm_gesture_layer_cb_set
      (priv->g_layer, ELM_GESTURE_ZOOM, ELM_GESTURE_STATE_MOVE,
-     _pinch_zoom_cb, priv);
+     _pinch_zoom_cb, obj);
    elm_gesture_layer_cb_set
      (priv->g_layer, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_MOVE,
-     _pinch_rotate_cb, priv);
+     _pinch_rotate_cb, obj);
    elm_gesture_layer_cb_set
      (priv->g_layer, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_END,
-     _pinch_rotate_end_cb, priv);
+     _pinch_rotate_end_cb, obj);
    elm_gesture_layer_cb_set
      (priv->g_layer, ELM_GESTURE_ROTATE, ELM_GESTURE_STATE_ABORT,
-     _pinch_rotate_end_cb, priv);
+     _pinch_rotate_end_cb, obj);
 
    priv->sep_maps_overlays =
      evas_object_rectangle_add(evas_object_evas_get(obj));
@@ -4520,7 +4531,7 @@ _paused_set(Eo *obj, void *_pd, va_list *list)
    Eina_Bool paused = va_arg(*list, int);
 #ifdef HAVE_ELEMENTARY_ECORE_CON
    Elm_Map_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->paused == !!paused) return;
    sd->paused = !!paused;
@@ -4653,10 +4664,10 @@ _wheel_disabled_set(Eo *obj, void *_pd, va_list *list)
 
    if ((!sd->wheel_disabled) && (disabled))
      evas_object_event_callback_del_full
-       (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, sd);
+       (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, obj);
    else if ((sd->wheel_disabled) && (!disabled))
      evas_object_event_callback_add
-       (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, sd);
+       (obj, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, obj);
    sd->wheel_disabled = !!disabled;
 #else
    (void)obj;
@@ -4973,7 +4984,7 @@ _route_add(Eo *obj, void *_pd, va_list *list)
    char fname[PATH_MAX], fname2[PATH_MAX];
 
    Elm_Map_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    EINA_SAFETY_ON_NULL_RETURN(sd->src_route);
 
index a4ad557..9c55d83 100644 (file)
@@ -82,7 +82,7 @@ _mapbuf(Evas_Object *obj)
    Evas_Coord x, y, w, h;
 
    ELM_MAPBUF_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_geometry_get(wd->resize_obj, &x, &y, &w, &h);
    evas_object_resize(sd->content, w, h);
@@ -111,7 +111,7 @@ static void
 _configure(Evas_Object *obj, Eina_Bool update_force)
 {
    ELM_MAPBUF_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->content) return;
    Evas_Coord x, y, w, h, x2, y2, w2, h2;
@@ -194,7 +194,7 @@ static void
 _elm_mapbuf_smart_content_set(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Mapbuf_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    const char *part = va_arg(*list, const char *);
    Evas_Object *content = va_arg(*list, Evas_Object *);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -252,7 +252,7 @@ _elm_mapbuf_smart_content_unset(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = NULL;
 
    Elm_Mapbuf_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (part && strcmp(part, "default")) return;
    if (!sd->content) return;
index 8bcd290..7b6c34a 100644 (file)
@@ -179,7 +179,7 @@ _sizing_eval(Evas_Object *obj)
    evas_object_size_hint_max_set(sd->location, bw, h_p);
    elm_hover_target_set(sd->hv, sd->location);
 
-   hover = eo_data_get(sd->hv, ELM_OBJ_WIDGET_CLASS);
+   hover = eo_data_scope_get(sd->hv, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_geometry_get(hover->resize_obj, "bottom", NULL,
                                 NULL, &bw, &bh);
    evas_object_size_hint_min_set(obj, bw, bh);
@@ -343,7 +343,7 @@ _parent_del_cb(void *data,
                void *event_info __UNUSED__)
 {
    ELM_MENU_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_event_callback_del_full
      (obj, EVAS_CALLBACK_RESIZE, _parent_resize_cb, wd->obj);
index dd12461..ec75363 100644 (file)
@@ -24,7 +24,7 @@ _elm_panel_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord mw = -1, mh = -1;
 
    Elm_Panel_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->delete_me) return;
 
@@ -49,7 +49,7 @@ static void
 _orient_set_do(Evas_Object *obj)
 {
    ELM_PANEL_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    switch (sd->orient)
      {
@@ -118,7 +118,7 @@ _elm_panel_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -156,7 +156,7 @@ _elm_panel_smart_focus_next(Eo *obj, void *_pd, va_list *list)
    Eina_Bool int_ret = EINA_FALSE;
 
    Elm_Panel_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->content) goto end;
 
@@ -202,7 +202,7 @@ _panel_toggle(void *data __UNUSED__,
               const char *source __UNUSED__)
 {
    ELM_PANEL_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->hidden)
      {
@@ -365,7 +365,7 @@ _elm_panel_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Eina_List *l;
 
    Elm_Panel_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    sd->delete_me = EINA_TRUE;
 
@@ -387,7 +387,7 @@ _elm_panel_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 static void
 _elm_panel_smart_access(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool is_access = va_arg(*list, int);
    if (is_access)
index 7dab263..1c6340a 100644 (file)
@@ -46,8 +46,8 @@ _elm_panes_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->horizontal)
      eina_stringshare_replace(&ld->group, "horizontal");
@@ -93,7 +93,7 @@ _elm_panes_smart_focus_next(Eo *obj, void *_pd, va_list *list)
    Evas_Object *left, *right;
 
    Elm_Panes_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction);
    Evas_Object **next = va_arg(*list, Evas_Object **);
@@ -193,7 +193,7 @@ _on_unpressed(void *data,
 static void
 _elm_panes_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    ELM_PANES_DATA_GET(obj, sd);
    
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
@@ -310,7 +310,7 @@ _elm_panes_smart_content_left_size_get(Eo *obj, void *_pd, va_list *list)
    double w, h;
 
    Elm_Panes_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_part_drag_value_get
      (wd->resize_obj, "elm.bar", &w, &h);
@@ -332,7 +332,7 @@ _elm_panes_smart_content_left_size_set(Eo *obj, void *_pd, va_list *list)
 {
    double size = va_arg(*list, double);
    Elm_Panes_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (size < 0.0) size = 0.0;
    else if (size > 1.0)
index e46020e..e8a3234 100644 (file)
@@ -25,7 +25,7 @@ _sizing_eval(Evas_Object *obj)
    double scale;
 
    ELM_PHOTO_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->size <= 0) return;
 
@@ -49,7 +49,7 @@ _elm_photo_smart_theme(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
    Elm_Photo_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -79,7 +79,7 @@ _icon_move_resize_cb(void *data,
    Evas_Coord w, h;
 
    ELM_PHOTO_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->fill_inside)
      {
@@ -253,7 +253,7 @@ static void
 _elm_photo_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Photo_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index e59b66a..a59393a 100644 (file)
@@ -65,7 +65,7 @@ _sizing_eval(Evas_Object *obj)
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_size_hint_max_get
      (wd->resize_obj, &maxw, &maxh);
@@ -173,7 +173,7 @@ _grid_load(Evas_Object *obj,
    Evas_Coord ox, oy, ow, oh, cvx, cvy, cvw, cvh, gw, gh, tx, ty;
 
    ELM_PHOTOCAM_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_geometry_get(sd->pan_obj, &ox, &oy, &ow, &oh);
    evas_output_viewport_get(evas_object_evas_get(obj), &cvx, &cvy, &cvw, &cvh);
@@ -320,7 +320,7 @@ _elm_photocam_pan_smart_calculate(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord ox, oy, ow, oh;
 
    Elm_Photocam_Pan_Smart_Data *psd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(psd->wobj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(psd->wobj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
    _image_place(
@@ -400,9 +400,19 @@ _elm_photocam_pan_smart_content_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list
 }
 
 static void
+_elm_photocam_pan_destructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+{
+   Elm_Photocam_Pan_Smart_Data *psd = _pd;
+   eo_data_unref(psd->wobj, psd->wsd);
+   eo_do_super(obj, MY_PAN_CLASS, eo_destructor());
+}
+
+static void
 _photocam_pan_class_constructor(Eo_Class *klass)
 {
       const Eo_Op_Func_Description func_desc[] = {
+           EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _elm_photocam_pan_destructor),
+
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _elm_photocam_pan_smart_resize),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_MOVE), _elm_photocam_pan_smart_move),
            EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_CALCULATE), _elm_photocam_pan_smart_calculate),
@@ -452,7 +462,7 @@ _grid_clear(Evas_Object *obj,
    int x, y;
 
    ELM_PHOTOCAM_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!g->grid) return;
    for (y = 0; y < g->gh; y++)
@@ -492,7 +502,7 @@ _tile_preloaded_cb(void *data,
 {
    Elm_Photocam_Grid_Item *git = data;
    ELM_PHOTOCAM_DATA_GET(git->obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(git->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(git->obj, ELM_OBJ_WIDGET_CLASS);
 
    if (git->want)
      {
@@ -689,7 +699,7 @@ _main_img_preloaded_cb(void *data,
    Elm_Phocam_Grid *g;
 
    ELM_PHOTOCAM_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_show(sd->img);
    sd->main_load_pending = 0;
@@ -851,7 +861,7 @@ static void
 _elm_photocam_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (elm_widget_focus_get(obj))
      {
@@ -1182,7 +1192,7 @@ static Evas_Event_Flags
 _g_layer_zoom_move_cb(void *data,
                       void *event_info)
 {
-   Elm_Photocam_Smart_Data *sd = eo_data_get(data, MY_CLASS);
+   Elm_Photocam_Smart_Data *sd = eo_data_scope_get(data, MY_CLASS);
    Elm_Gesture_Zoom_Info *p = event_info;
 
    _g_layer_zoom_do(data, sd->zoom_point_x, sd->zoom_point_y, p);
@@ -1276,7 +1286,7 @@ _g_layer_zoom_end_cb(void *data,
           _elm_config->page_scroll_friction;
 
         sd->g_layer_zoom.bounce.animator =
-          ecore_animator_add(_bounce_eval, sd);
+          ecore_animator_add(_bounce_eval, obj);
      }
    else
      {
@@ -1328,7 +1338,8 @@ _elm_photocam_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    eo_do(obj, elm_scrollable_interface_bounce_allow_set(bounce, bounce));
 
    priv->pan_obj = eo_add(MY_PAN_CLASS, evas_object_evas_get(obj));
-   pan_data = eo_data_get(priv->pan_obj, MY_PAN_CLASS);
+   pan_data = eo_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
+   eo_data_ref(obj, NULL);
    pan_data->wobj = obj;
    pan_data->wsd = priv;
 
@@ -1468,7 +1479,7 @@ _file_set(Eo *obj, void *_pd, va_list *list)
    if (ret) *ret = EVAS_LOAD_ERROR_NONE;
 
    Elm_Photocam_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (!eina_stringshare_replace(&sd->file, file)) return;
    _grid_clear_all(obj);
index d48a9b9..1f8c0b7 100644 (file)
@@ -87,7 +87,7 @@ _elm_plug_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
    Evas_Object *p_obj;
    Ecore_Evas *ee;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -140,7 +140,7 @@ static void
 _image_object_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = wd->resize_obj;
 }
 
index f235ba2..da31d6b 100644 (file)
@@ -121,7 +121,7 @@ static Eina_Bool
 _elm_prefs_save(void *data)
 {
    ELM_PREFS_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    if (!sd->dirty || !sd->prefs_data) goto end;
 
@@ -289,7 +289,7 @@ _elm_prefs_item_changed_report(Eo *obj,
                                Elm_Prefs_Item_Node *it)
 {
    char buf[PATH_MAX];
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    snprintf(buf, sizeof(buf), "%s:%s", it->page->name, it->name);
 
@@ -390,7 +390,7 @@ _prefs_data_autosaved_cb(void *cb_data,
                          void *event_info)
 {
    ELM_PREFS_DATA_GET(cb_data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(cb_data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(cb_data, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_smart_callback_call
      (wd->obj, SIG_PAGE_SAVED, event_info);
@@ -555,7 +555,7 @@ _item_changed_cb(Evas_Object *it_obj)
    snprintf(buf, sizeof(buf), "%s:%s", it->page->name, it->name);
 
    ELM_PREFS_DATA_GET(it->prefs, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(it->prefs, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(it->prefs, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->values_fetching) goto end;
 
index 3cd0bee..f554e58 100644 (file)
@@ -63,7 +63,7 @@ _val_set(Evas_Object *obj)
    double pos;
 
    ELM_PROGRESSBAR_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    pos = sd->val;
    rtl = elm_widget_mirrored_get(obj);
@@ -82,7 +82,7 @@ _elm_progressbar_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_size_min_restricted_calc
      (wd->resize_obj, &minw, &minh, minw, minh);
@@ -149,8 +149,8 @@ _elm_progressbar_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->horizontal)
      eina_stringshare_replace(&ld->group, "horizontal");
@@ -236,7 +236,7 @@ static void
 _elm_progressbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Progressbar_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -268,7 +268,7 @@ _elm_progressbar_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    _elm_access_callback_set
      (_elm_access_object_get(obj), ELM_ACCESS_INFO, _access_info_cb, NULL);
    _elm_access_callback_set
-     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, priv);
+     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, NULL);
 }
 
 static void
@@ -484,7 +484,7 @@ _unit_format_set(Eo *obj, void *_pd, va_list *list)
 {
    const char *units = va_arg(*list, const char *);
    Elm_Progressbar_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eina_stringshare_replace(&sd->units, units);
    if (units)
@@ -592,7 +592,7 @@ _inverted_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool inverted = va_arg(*list, int);
    Elm_Progressbar_Smart_Data*sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    inverted = !!inverted;
    if (sd->inverted == inverted) return;
index 7ebd092..397e695 100644 (file)
@@ -172,7 +172,7 @@ static void
 _elm_radio_smart_theme(Eo *obj, void *_pd, va_list *list)
 {
    Elm_Radio_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
@@ -219,7 +219,7 @@ _elm_radio_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    edje_object_size_min_restricted_calc
@@ -264,7 +264,7 @@ static void
 _elm_radio_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Radio_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 6d61be2..fdd1a1e 100644 (file)
@@ -325,7 +325,7 @@ _elm_scroller_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    double xw = 0.0, yw = 0.0;
 
    Elm_Scroller_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->content)
      {
@@ -738,7 +738,7 @@ _elm_scroller_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Evas_Coord minw, minh;
 
    Elm_Scroller_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -859,7 +859,7 @@ _custom_widget_base_theme_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char *klass = va_arg(*list, const char *);
    const char *group = va_arg(*list, const char *);
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
 
    EINA_SAFETY_ON_NULL_RETURN(klass);
    EINA_SAFETY_ON_NULL_RETURN(group);
@@ -1217,7 +1217,7 @@ static void
 _propagate_events_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool propagation = va_arg(*list, int);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_propagate_events_set(wd->resize_obj, propagation);
 }
@@ -1236,7 +1236,7 @@ static void
 _propagate_events_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = evas_object_propagate_events_get(wd->resize_obj);
 }
 
index c9eb8a5..bb7635f 100644 (file)
@@ -36,7 +36,7 @@ _elm_segment_control_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UN
    int item_count;
 
    Elm_Segment_Control_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    item_count = eina_list_count(sd->items);
 
@@ -74,7 +74,7 @@ _position_items(Elm_Segment_Control_Smart_Data *sd)
    Elm_Segment_Item *it;
    int bx, by, bw, bh, pos;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    item_count = eina_list_count(sd->items);
    if (item_count <= 0) return;
@@ -526,7 +526,7 @@ _access_state_cb(void *data, Evas_Object *obj __UNUSED__)
    Elm_Segment_Item *it = (Elm_Segment_Item *)data;
    ELM_SEGMENT_CONTROL_ITEM_CHECK_OR_RETURN(it, NULL);
    ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(it), sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(WIDGET(it), ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(WIDGET(it), ELM_OBJ_WIDGET_CLASS);
 
    if (wd->disabled)
      return strdup(E_("State: Disabled"));
index 0e1e1a2..e42f926 100644 (file)
@@ -16,7 +16,7 @@ _elm_separator_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
 
    if (sd->horizontal)
      eina_stringshare_replace(&ld->group, "horizontal");
@@ -34,7 +34,7 @@ _elm_separator_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list E
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_size_min_calc(wd->resize_obj, &minw, &minh);
    evas_object_size_hint_min_set(obj, minw, minh);
index cc8d81e..68fea42 100644 (file)
@@ -53,7 +53,7 @@ _val_fetch(Evas_Object *obj)
    double posx = 0.0, posy = 0.0, pos = 0.0, val;
 
    ELM_SLIDER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    edje_object_part_drag_value_get
      (wd->resize_obj, "elm.dragable.slider", &posx, &posy);
@@ -98,7 +98,7 @@ _val_set(Evas_Object *obj)
                 (sd->horizontal && !sd->inverted))))
      pos = 1.0 - pos;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_drag_value_set
      (wd->resize_obj, "elm.dragable.slider", pos, pos);
 }
@@ -222,7 +222,7 @@ _drag_up(void *data,
 
    if (sd->inverted) step *= -1.0;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_drag_step
      (wd->resize_obj, "elm.dragable.slider", step, step);
 }
@@ -240,7 +240,7 @@ _drag_down(void *data,
 
    if (sd->inverted) step *= -1.0;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_drag_step
      (wd->resize_obj, "elm.dragable.slider", step, step);
 }
@@ -429,8 +429,8 @@ _elm_slider_smart_theme(Eo *obj, void *_pd, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret;
-   Elm_Layout_Smart_Data *ld = eo_data_get(obj, ELM_OBJ_LAYOUT_CLASS);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Layout_Smart_Data *ld = eo_data_scope_get(obj, ELM_OBJ_LAYOUT_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->horizontal)
      {
@@ -494,7 +494,7 @@ _elm_slider_smart_theme(Eo *obj, void *_pd, va_list *list)
 static void
 _elm_slider_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
@@ -536,7 +536,7 @@ _spacer_down_cb(void *data,
         if (button_y < 0) button_y = 0;
      }
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
    edje_object_part_drag_value_set
      (wd->resize_obj, "elm.dragable.slider",
      button_x, button_y);
@@ -601,7 +601,7 @@ _spacer_move_cb(void *data,
              if (button_y < 0) button_y = 0;
           }
 
-        Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+        Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
         edje_object_part_drag_value_set
           (wd->resize_obj, "elm.dragable.slider",
           button_x, button_y);
@@ -754,7 +754,7 @@ static void
 _elm_slider_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Slider_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -822,7 +822,7 @@ _elm_slider_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    _elm_access_callback_set
      (_elm_access_object_get(obj), ELM_ACCESS_INFO, _access_info_cb, NULL);
    _elm_access_callback_set
-     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, priv);
+     (_elm_access_object_get(obj), ELM_ACCESS_STATE, _access_state_cb, NULL);
    
    evas_object_smart_changed(obj);
 }
@@ -938,7 +938,7 @@ _elm_slider_unit_format_set(Eo *obj, void *_pd, va_list *list)
 {
    const char *units = va_arg(*list, const char *);
    Elm_Slider_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eina_stringshare_replace(&sd->units, units);
    if (units)
@@ -1150,7 +1150,7 @@ _elm_slider_inverted_set(Eo *obj, void *_pd, va_list *list)
 {
    Eina_Bool inverted = va_arg(*list, int);
    Elm_Slider_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    inverted = !!inverted;
    if (sd->inverted == inverted) return;
index fcc07a5..84b1da5 100644 (file)
@@ -81,7 +81,7 @@ _elm_slideshow_smart_event(Eo *obj, void *_pd, va_list *list)
 static void
 _elm_slideshow_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    Evas_Coord minw = -1, minh = -1;
 
    edje_object_size_min_calc(wd->resize_obj, &minw, &minh);
@@ -310,7 +310,7 @@ _elm_slideshow_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
    Elm_Slideshow_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    priv->count_item_pre_before = 2;
    priv->count_item_pre_after = 2;
index e6ccf7e..962d4b4 100644 (file)
@@ -153,7 +153,7 @@ _val_set(Evas_Object *obj)
    double pos = 0.0;
 
    ELM_SPINNER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->val_max > sd->val_min)
      pos = ((sd->val - sd->val_min) / (sd->val_max - sd->val_min));
@@ -175,7 +175,7 @@ _drag_cb(void *data,
    Eina_Bool ret = EINA_FALSE;
 
    ELM_SPINNER_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    if (sd->entry_visible) return;
    eo_do((Eo *)wd->resize_obj,
@@ -206,7 +206,7 @@ _drag_stop_cb(void *data,
               const char *source __UNUSED__)
 {
    ELM_SPINNER_DATA_GET(data, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    sd->drag_start_val = 0;
    edje_object_part_drag_value_set
@@ -411,7 +411,7 @@ _elm_spinner_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EIN
 {
    Evas_Coord minw = -1, minh = -1;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    edje_object_size_min_restricted_calc
@@ -633,7 +633,7 @@ static void
 _elm_spinner_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Elm_Spinner_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
index 7cf9b07..62e3bf6 100644 (file)
@@ -51,7 +51,7 @@ _mouse_down_cb(void *data,
                Evas_Object *obj,
                void *event_info)
 {
-   Elm_Thumb_Smart_Data *sd = data;
+   ELM_THUMB_DATA_GET(data, sd);
    Evas_Event_Mouse_Down *ev = event_info;
 
    if (ev->button != 1) return;
@@ -70,7 +70,7 @@ _mouse_up_cb(void *data,
              Evas_Object *obj,
              void *event_info)
 {
-   Elm_Thumb_Smart_Data *sd = data;
+   ELM_THUMB_DATA_GET(data, sd);
    Evas_Event_Mouse_Up *ev = event_info;
 
    if (ev->button != 1) return;
@@ -91,7 +91,7 @@ _thumb_ready_inform(Elm_Thumb_Smart_Data *sd,
    Evas_Coord mw, mh;
    Evas_Coord aw, ah;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
 
    if ((sd->is_video) && (sd->thumb.format == ETHUMB_THUMB_EET))
      {
@@ -125,7 +125,7 @@ _on_thumb_preloaded(void *data,
                     Evas_Object *obj __UNUSED__,
                     void *event_info __UNUSED__)
 {
-   Elm_Thumb_Smart_Data *sd = data;
+   ELM_THUMB_DATA_GET(data, sd);
    const char *thumb_path;
    const char *thumb_key;
 
@@ -205,7 +205,7 @@ _thumb_finish(Elm_Thumb_Smart_Data *sd,
    Evas *evas;
    int r;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    evas = evas_object_evas_get(sd->obj);
    if ((sd->view) && (sd->is_video ^ sd->was_video))
      {
@@ -235,6 +235,7 @@ _thumb_finish(Elm_Thumb_Smart_Data *sd,
              sd->thumb.retry = EINA_TRUE;
 
              retry = eina_list_append(retry, sd);
+             eo_data_ref(sd->obj, NULL);
              return;
           }
      }
@@ -265,6 +266,7 @@ _thumb_finish(Elm_Thumb_Smart_Data *sd,
              sd->thumb.retry = EINA_TRUE;
 
              retry = eina_list_append(retry, sd);
+             eo_data_ref(sd->obj, NULL);
              return;
           }
 
@@ -277,12 +279,17 @@ _thumb_finish(Elm_Thumb_Smart_Data *sd,
    EINA_LIST_FOREACH_SAFE(retry, l, ll, sd)
      {
         if (_thumb_retry(sd))
-          retry = eina_list_remove_list(retry, l);
+          {
+             retry = eina_list_remove_list(retry, l);
+             eo_data_unref(sd->obj, sd);
+          }
+
      }
 
    if (pending_request == 0)
      EINA_LIST_FREE(retry, sd)
        {
+          eo_data_unref(sd->obj, sd);
           eina_stringshare_del(sd->thumb.thumb_path);
           sd->thumb.thumb_path = NULL;
 
@@ -292,7 +299,7 @@ _thumb_finish(Elm_Thumb_Smart_Data *sd,
           evas_object_del(sd->view);
           sd->view = NULL;
 
-          wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+          wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
           elm_layout_signal_emit
             (wd->resize_obj, EDJE_SIGNAL_LOAD_ERROR, "elm");
           evas_object_smart_callback_call
@@ -314,7 +321,7 @@ _on_ethumb_thumb_done(Ethumb_Client *client __UNUSED__,
                       const char *thumb_key,
                       void *data)
 {
-   Elm_Thumb_Smart_Data *sd = data;
+   ELM_THUMB_DATA_GET(data, sd);
 
    if (EINA_UNLIKELY(!sd->thumb.request))
      {
@@ -332,7 +339,7 @@ static void
 _on_ethumb_thumb_error(Ethumb_Client *client __UNUSED__,
                        void *data)
 {
-   Elm_Thumb_Smart_Data *sd = data;
+   ELM_THUMB_DATA_GET(data, sd);
 
    if (EINA_UNLIKELY(!sd->thumb.request))
      {
@@ -346,7 +353,7 @@ _on_ethumb_thumb_error(Ethumb_Client *client __UNUSED__,
    ERR("could not generate thumbnail for %s (key: %s)",
        sd->thumb.file, sd->thumb.key ? sd->thumb.key : "");
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
    elm_layout_signal_emit
      (wd->resize_obj, EDJE_SIGNAL_GENERATE_ERROR, "elm");
    evas_object_smart_callback_call
@@ -364,12 +371,13 @@ _thumb_start(Elm_Thumb_Smart_Data *sd)
    if (sd->thumb.retry)
      {
         retry = eina_list_remove(retry, sd);
+        eo_data_unref(sd->obj, sd);
         sd->thumb.retry = EINA_FALSE;
      }
 
    if (!sd->file) return;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    elm_layout_signal_emit
      (wd->resize_obj, EDJE_SIGNAL_PULSE_START, "elm");
    elm_layout_signal_emit
@@ -388,7 +396,8 @@ _thumbnailing_available_cb(void *data,
                            int type __UNUSED__,
                            void *ev __UNUSED__)
 {
-   _thumb_start(data);
+   ELM_THUMB_DATA_GET(data, sd);
+   _thumb_start(sd);
 
    return ECORE_CALLBACK_RENEW;
 }
@@ -396,7 +405,7 @@ _thumbnailing_available_cb(void *data,
 static void
 _thumb_show(Elm_Thumb_Smart_Data *sd)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
    evas_object_show(wd->resize_obj);
 
    if (elm_thumb_ethumb_client_connected_get())
@@ -407,7 +416,7 @@ _thumb_show(Elm_Thumb_Smart_Data *sd)
 
    if (!sd->eeh)
      sd->eeh = ecore_event_handler_add
-         (ELM_ECORE_EVENT_ETHUMB_CONNECT, _thumbnailing_available_cb, sd);
+         (ELM_ECORE_EVENT_ETHUMB_CONNECT, _thumbnailing_available_cb, sd->obj);
 }
 
 #endif
@@ -434,7 +443,7 @@ _elm_thumb_smart_hide(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 #else
    (void) _pd;
 #endif
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_hide());
 
@@ -455,6 +464,7 @@ _elm_thumb_smart_hide(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    if (sd->thumb.retry)
      {
         retry = eina_list_remove(retry, sd);
+        eo_data_unref(sd->obj, sd);
         sd->thumb.retry = EINA_FALSE;
      }
 
@@ -528,7 +538,7 @@ _elm_thumb_smart_theme(Eo *obj, void *_pd __UNUSED__, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -562,10 +572,9 @@ elm_need_ethumb(void)
 }
 
 static void
-_elm_thumb_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
+_elm_thumb_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Thumb_Smart_Data *priv = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
 
@@ -577,9 +586,9 @@ _elm_thumb_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 
 #ifdef HAVE_ELEMENTARY_ETHUMB
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, priv);
+     (obj, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, obj);
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, priv);
+     (obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, obj);
 #else
    (void) priv;
 #endif
@@ -601,6 +610,7 @@ _elm_thumb_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    if (sd->thumb.retry)
      {
         retry = eina_list_remove(retry, sd);
+        eo_data_unref(sd->obj, sd);
         sd->thumb.retry = EINA_FALSE;
      }
 
index fea0e7e..843f5a9 100644 (file)
@@ -564,7 +564,7 @@ static void
 _elm_toolbar_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    ELM_TOOLBAR_DATA_GET(obj, sd);
 
    if (elm_widget_focus_get(obj))
@@ -777,7 +777,7 @@ end:
 static int
 _elm_toolbar_icon_size_get(Evas_Object *obj)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    const char *icon_size = edje_object_data_get
        (wd->resize_obj, "icon_size");
 
@@ -1057,7 +1057,7 @@ _sizing_eval(Evas_Object *obj)
    Evas_Coord w, h;
 
    ELM_TOOLBAR_DATA_GET(obj, sd);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    evas_object_smart_need_recalculate_set(sd->bx, EINA_TRUE);
    evas_object_smart_calculate(sd->bx);
@@ -1128,7 +1128,7 @@ _elm_toolbar_smart_theme(Eo *obj, void *_pd, va_list *list)
    Elm_Toolbar_Item *it;
    double scale = 0;
    Elm_Toolbar_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
index 5e1a7b0..9207228 100644 (file)
@@ -101,7 +101,7 @@ _elm_video_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
 #ifdef HAVE_EMOTION
    Elm_Video_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Coord minw = -1, minh = -1;
    Evas_Coord w, h;
index 5f52c4d..5684635 100644 (file)
@@ -106,7 +106,7 @@ _elm_web_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    const Eina_List *themes;
    char *view_theme = NULL;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
    if (!int_ret) return;
@@ -148,7 +148,7 @@ _elm_web_smart_on_focus(Eo *obj, void *_pd, va_list *list)
    Evas_Object *top;
 
    Elm_Web_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    top = elm_widget_top_get(obj);
 
@@ -822,7 +822,7 @@ _ewk_view_inputmethod_change_cb(void *data,
                                 Evas_Object *obj __UNUSED__,
                                 void *event_info)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
    Evas_Object *top = elm_widget_top_get(sd->obj);
    if (!top) return;
 
@@ -846,7 +846,7 @@ _ewk_view_load_finished_cb(void *data,
                            Evas_Object *obj __UNUSED__,
                            void *event_info)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
 
    if (event_info) return;
 
@@ -863,7 +863,7 @@ _ewk_view_viewport_changed_cb(void *data,
                               Evas_Object *obj,
                               void *event_info __UNUSED__)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
 
    if (sd->zoom.mode != ELM_WEB_ZOOM_MODE_MANUAL)
      {
@@ -875,7 +875,7 @@ _ewk_view_viewport_changed_cb(void *data,
 static Eina_Bool
 _restore_zoom_mode_timer_cb(void *data)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
    float tz = sd->zoom.current;
 
    sd->zoom.timer = NULL;
@@ -889,10 +889,10 @@ _restore_zoom_mode_timer_cb(void *data)
 static Eina_Bool
 _reset_zoom_timer_cb(void *data)
 {
-   Elm_Web_Smart_Data *sd = data;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   ELM_WEB_DATA_GET(data, sd);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
-   sd->zoom.timer = ecore_timer_add(0.0, _restore_zoom_mode_timer_cb, sd);
+   sd->zoom.timer = ecore_timer_add(0.0, _restore_zoom_mode_timer_cb, data);
    ewk_view_zoom_set(wd->resize_obj, 1.0, 0, 0);
 
    return EINA_FALSE;
@@ -903,14 +903,14 @@ _ewk_view_resized_cb(void *data,
                      Evas_Object *obj __UNUSED__,
                      void *event_info __UNUSED__)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
 
    if (!(sd->zoom.mode != ELM_WEB_ZOOM_MODE_MANUAL))
      return;
 
    if (sd->zoom.timer)
      ecore_timer_del(sd->zoom.timer);
-   sd->zoom.timer = ecore_timer_add(0.5, _reset_zoom_timer_cb, sd);
+   sd->zoom.timer = ecore_timer_add(0.5, _reset_zoom_timer_cb, data);
 }
 
 static void
@@ -964,7 +964,7 @@ _ewk_view_popup_create_cb(void *data,
                           Evas_Object *obj,
                           void *event_info)
 {
-   Elm_Web_Smart_Data *sd = data;
+   ELM_WEB_DATA_GET(data, sd);
    Evas_Object *notify, *list;
    Ewk_Menu *m = event_info;
    Ewk_Menu_Item *it;
@@ -1070,8 +1070,8 @@ static Eina_Bool
 _bring_in_anim_cb(void *data,
                   double pos)
 {
-   Elm_Web_Smart_Data *sd = data;
-   Elm_Widget_Smart_Data *wd = eo_data_get(sd->obj, ELM_OBJ_WIDGET_CLASS);
+   ELM_WEB_DATA_GET(data, sd);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(data, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Object *frame =
      ewk_view_frame_main_get(wd->resize_obj);
@@ -1147,22 +1147,22 @@ _elm_web_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    priv->input_method = ELM_WIN_KEYBOARD_OFF;
    evas_object_smart_callback_add
      (resize_obj, "inputmethod,changed",
-     _ewk_view_inputmethod_change_cb, priv);
+     _ewk_view_inputmethod_change_cb, obj);
    evas_object_smart_callback_add
      (resize_obj, "load,started",
-     _ewk_view_load_started_cb, priv);
+     _ewk_view_load_started_cb, obj);
    evas_object_smart_callback_add
      (resize_obj, "popup,create",
-     _ewk_view_popup_create_cb, priv);
+     _ewk_view_popup_create_cb, obj);
    evas_object_smart_callback_add
      (resize_obj, "load,finished",
-     _ewk_view_load_finished_cb, priv);
+     _ewk_view_load_finished_cb, obj);
    evas_object_smart_callback_add
      (resize_obj, "viewport,changed",
-     _ewk_view_viewport_changed_cb, priv);
+     _ewk_view_viewport_changed_cb, obj);
    evas_object_smart_callback_add
      (resize_obj, "view,resized",
-     _ewk_view_resized_cb, priv);
+     _ewk_view_resized_cb, obj);
 
    priv->inwin_mode = _elm_config->inwin_dialogs_enable;
    priv->zoom.min =
@@ -1240,7 +1240,7 @@ _webkit_view_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object **ret = va_arg(*list, Evas_Object **);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = wd->resize_obj;
 #else
@@ -1421,7 +1421,7 @@ _useragent_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char *user_agent = va_arg(*list, const char *);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ewk_view_setting_user_agent_set
      (wd->resize_obj, user_agent);
@@ -1446,7 +1446,7 @@ _useragent_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    const char **ret = va_arg(*list, const char **);
 
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_setting_user_agent_get(wd->resize_obj);
 #else
@@ -1520,7 +1520,7 @@ _uri_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_uri_set(wd->resize_obj, uri);
    if (ret) *ret = int_ret;
@@ -1545,7 +1545,7 @@ _uri_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char **ret = va_arg(*list, const char **);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_uri_get(wd->resize_obj);
 #else
@@ -1571,7 +1571,7 @@ _title_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 #ifdef HAVE_ELEMENTARY_WEB
    const Ewk_Text_With_Direction *txt;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    txt = ewk_view_title_get(wd->resize_obj);
    if (txt) *ret = txt->string;
@@ -1601,7 +1601,7 @@ _bg_color_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    int b = va_arg(*list, int);
    int a = va_arg(*list, int);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ewk_view_bg_color_set(wd->resize_obj, r, g, b, a);
 #else
@@ -1637,7 +1637,7 @@ _bg_color_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (b) *b = 0;
    if (a) *a = 0;
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    return ewk_view_bg_color_get(wd->resize_obj, r, g, b, a);
 #else
@@ -1659,7 +1659,7 @@ _selection_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char **ret = va_arg(*list, const char **);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_selection_get(wd->resize_obj);
 #else
@@ -1681,7 +1681,7 @@ _popup_selected_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    int idx = va_arg(*list, int);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    ewk_view_popup_selected_set(wd->resize_obj, idx);
 #else
    (void)idx;
@@ -1705,7 +1705,7 @@ _popup_destroy(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    int_ret = ewk_view_popup_destroy(wd->resize_obj);
    if (ret) *ret = int_ret;
 #else
@@ -1738,7 +1738,7 @@ _text_search(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_text_search
             (wd->resize_obj, string,
@@ -1778,7 +1778,7 @@ _text_matches_mark(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    unsigned int int_ret = 0;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    int_ret = ewk_view_text_matches_mark
             (wd->resize_obj, string,
             case_sensitive, highlight, limit);
@@ -1808,7 +1808,7 @@ _text_matches_unmark_all(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_text_matches_unmark_all(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -1836,7 +1836,7 @@ _text_matches_highlight_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_text_matches_highlight_set
             (wd->resize_obj, highlight);
@@ -1863,7 +1863,7 @@ _text_matches_highlight_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret = EINA_FALSE;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_text_matches_highlight_get(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -1887,7 +1887,7 @@ _load_progress_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    double *ret = va_arg(*list, double *);
    *ret = -1.0;
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_load_progress_get(wd->resize_obj);
 #else
@@ -1911,7 +1911,7 @@ _stop(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_stop(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -1936,7 +1936,7 @@ _reload(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_reload(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -1961,7 +1961,7 @@ _reload_full(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_reload_full(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -1986,7 +1986,7 @@ _back(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_back(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -2011,7 +2011,7 @@ _forward(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    if (ret) *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_forward(wd->resize_obj);
    if (ret) *ret = int_ret;
@@ -2039,7 +2039,7 @@ _navigate(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Eina_Bool int_ret;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int_ret = ewk_view_navigate(wd->resize_obj, steps);
    if (ret) *ret = int_ret;
@@ -2070,7 +2070,7 @@ _back_possible_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_back_possible(wd->resize_obj);
 #else
@@ -2093,7 +2093,7 @@ _forward_possible_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    *ret = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_forward_possible(wd->resize_obj);
 #else
@@ -2119,7 +2119,7 @@ _navigate_possible_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    *ret = EINA_FALSE;
 
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_navigate_possible(wd->resize_obj, steps);
 #else
@@ -2144,7 +2144,7 @@ _history_enabled_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    *ret = EINA_FALSE;
 
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    *ret = ewk_view_history_enable_get(wd->resize_obj);
 #else
@@ -2165,7 +2165,7 @@ _history_enabled_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Eina_Bool enable = va_arg(*list, int);
 #ifdef HAVE_ELEMENTARY_WEB
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    ewk_view_history_enable_set(wd->resize_obj, enable);
 #else
@@ -2191,7 +2191,7 @@ _zoom_set(Eo *obj, void *_pd, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Elm_Web_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    int vw, vh, cx, cy;
    float z = 1.0;
@@ -2376,7 +2376,7 @@ _region_show(Eo *obj, void *_pd, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Elm_Web_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Object *frame =
      ewk_view_frame_main_get(wd->resize_obj);
@@ -2426,7 +2426,7 @@ _region_bring_in(Eo *obj, void *_pd, va_list *list)
 
 #ifdef HAVE_ELEMENTARY_WEB
    Elm_Web_Smart_Data *sd = _pd;
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    Evas_Object *frame =
      ewk_view_frame_main_get(wd->resize_obj);
@@ -2449,7 +2449,7 @@ _region_bring_in(Eo *obj, void *_pd, va_list *list)
    if (sd->bring_in.animator)
      ecore_animator_del(sd->bring_in.animator);
    sd->bring_in.animator = ecore_animator_timeline_add(
-       _elm_config->bring_in_scroll_friction, _bring_in_anim_cb, sd);
+       _elm_config->bring_in_scroll_friction, _bring_in_anim_cb, obj);
 #else
    (void)obj;
    (void)_pd;
index 0dd6d91..5f0b95c 100644 (file)
@@ -107,7 +107,7 @@ elm_need_web(void)
 static void
 _elm_web_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
 #ifdef HAVE_ELEMENTARY_WEB
    elm_widget_resize_object_set(obj, _view_add(obj));
@@ -159,7 +159,7 @@ static void
 _webkit_view_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    Evas_Object **ret = va_arg(*list, Evas_Object **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = wd->resize_obj;
 }
 
@@ -378,7 +378,7 @@ elm_web_uri_set(Evas_Object *obj,
 static void
 _uri_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    const char *uri = va_arg(*list, const char *);
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -401,7 +401,7 @@ static void
 _uri_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char **ret = va_arg(*list, const char **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = ewk_view_url_get(wd->resize_obj);
 }
 
@@ -418,7 +418,7 @@ static void
 _title_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 {
    const char **ret = va_arg(*list, const char **);
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
    *ret = ewk_view_title_get(wd->resize_obj);
 }
 
index f5e26b8..a5e959c 100644 (file)
@@ -9,9 +9,9 @@ EAPI Eo_Op ELM_WIDGET_BASE_ID = EO_NOOP;
 
 #define MY_CLASS_NAME "elm_widget"
 
-#define ELM_WIDGET_DATA_GET(o, wd)             \
-  Elm_Widget_Smart_Data *wd;                   \
-  wd = eo_data_get(o, MY_CLASS)
+#define ELM_WIDGET_DATA_GET(o, wd)                \
+  Elm_Widget_Smart_Data *wd = NULL;               \
+  if (eo_isa(o, MY_CLASS)) wd = eo_data_scope_get(o, MY_CLASS)
 
 #define API_ENTRY                                    \
   ELM_WIDGET_DATA_GET(obj, sd);                      \
@@ -137,7 +137,7 @@ _on_sub_obj_del(void *data,
              Evas_Object *obj,
              void *event_info __UNUSED__)
 {
-   Elm_Widget_Smart_Data *sd = data;
+   ELM_WIDGET_DATA_GET(data, sd);
 
    if (_elm_widget_is(obj))
      {
@@ -216,7 +216,7 @@ _if_focused_revert(Evas_Object *obj,
 }
 
 static void
-_elm_widget_smart_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
+_elm_widget_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
    Evas_Object *sobj;
    Elm_Translate_String_Data *ts;
@@ -228,7 +228,7 @@ _elm_widget_smart_del(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
      {
         /* detach it from us */
         evas_object_event_callback_del_full
-          (sd->hover_obj, EVAS_CALLBACK_DEL, _on_sub_obj_del, sd);
+          (sd->hover_obj, EVAS_CALLBACK_DEL, _on_sub_obj_del, obj);
         sd->hover_obj = NULL;
      }
 
@@ -460,7 +460,7 @@ _obj_mouse_down(void *data,
                 Evas_Object *obj __UNUSED__,
                 void *event_info)
 {
-   Elm_Widget_Smart_Data *sd = data;
+   ELM_WIDGET_DATA_GET(data, sd);
    Evas_Event_Mouse_Down *ev = event_info;
    if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
      sd->still_in = EINA_TRUE;
@@ -472,7 +472,7 @@ _obj_mouse_move(void *data,
                 Evas_Object *obj,
                 void *event_info)
 {
-   Elm_Widget_Smart_Data *sd = data;
+   ELM_WIDGET_DATA_GET(data, sd);
    Evas_Event_Mouse_Move *ev = event_info;
    if (sd->still_in)
      {
@@ -495,7 +495,7 @@ _obj_mouse_up(void *data,
               Evas_Object *obj,
               void *event_info __UNUSED__)
 {
-   Elm_Widget_Smart_Data *sd = data;
+   ELM_WIDGET_DATA_GET(data, sd);
    if (sd->still_in)
      elm_widget_focus_mouse_up_handle(obj);
    sd->still_in = EINA_FALSE;
@@ -659,7 +659,7 @@ _elm_object_focus_chain_del_cb(void *data,
                                Evas_Object *obj,
                                void *event_info __UNUSED__)
 {
-   Elm_Widget_Smart_Data *sd = data;
+   ELM_WIDGET_DATA_GET(data, sd);
 
    sd->focus_chain = eina_list_remove(sd->focus_chain, obj);
 }
@@ -995,7 +995,7 @@ _elm_widget_sub_object_add(Eo *obj, void *_pd, va_list *list)
              sdp->child_can_focus = EINA_TRUE;
              while (sdp->parent_obj)
                {
-                  sdp = eo_data_get(sdp->parent_obj, MY_CLASS);
+                  sdp = eo_data_scope_get(sdp->parent_obj, MY_CLASS);
 
                   if (sdp->child_can_focus) break;
 
@@ -1016,11 +1016,11 @@ _elm_widget_sub_object_add(Eo *obj, void *_pd, va_list *list)
    sd->subobjs = eina_list_append(sd->subobjs, sobj);
    evas_object_data_set(sobj, "elm-parent", obj);
    evas_object_event_callback_add
-     (sobj, EVAS_CALLBACK_DEL, _on_sub_obj_del, sd);
+     (sobj, EVAS_CALLBACK_DEL, _on_sub_obj_del, obj);
    if (_elm_widget_is(sobj))
      {
         evas_object_event_callback_add
-          (sobj, EVAS_CALLBACK_HIDE, _on_sub_obj_hide, sd);
+          (sobj, EVAS_CALLBACK_HIDE, _on_sub_obj_hide, NULL);
 
         scale = elm_widget_scale_get(sobj);
         th = elm_widget_theme_get(sobj);
@@ -1129,10 +1129,10 @@ _elm_widget_sub_object_del(Eo *obj, void *_pd, va_list *list)
    sd->subobjs = eina_list_remove(sd->subobjs, sobj);
 
    evas_object_event_callback_del_full
-     (sobj, EVAS_CALLBACK_DEL, _on_sub_obj_del, sd);
+     (sobj, EVAS_CALLBACK_DEL, _on_sub_obj_del, obj);
    if (_elm_widget_is(sobj))
      evas_object_event_callback_del_full
-       (sobj, EVAS_CALLBACK_HIDE, _on_sub_obj_hide, sd);
+       (sobj, EVAS_CALLBACK_HIDE, _on_sub_obj_hide, NULL);
 
    if (ret) *ret = EINA_TRUE;
 }
@@ -1180,13 +1180,13 @@ _elm_widget_resize_object_set(Eo *obj, void *_pd, va_list *list)
      {
         evas_object_event_callback_del_full(obj,
                                             EVAS_CALLBACK_MOUSE_DOWN,
-                                            _obj_mouse_down, sd);
+                                            _obj_mouse_down, obj);
         evas_object_event_callback_del_full(obj,
                                             EVAS_CALLBACK_MOUSE_MOVE,
-                                            _obj_mouse_move, sd);
+                                            _obj_mouse_move, obj);
         evas_object_event_callback_del_full(obj,
                                             EVAS_CALLBACK_MOUSE_UP,
-                                            _obj_mouse_up, sd);
+                                            _obj_mouse_up, obj);
         return;
      }
 
@@ -1211,11 +1211,11 @@ _elm_widget_resize_object_set(Eo *obj, void *_pd, va_list *list)
    evas_object_smart_member_add(sobj, obj);
 
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN,
-                                  _obj_mouse_down, sd);
+                                  _obj_mouse_down, obj);
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,
-                                  _obj_mouse_move, sd);
+                                  _obj_mouse_move, obj);
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_UP,
-                                  _obj_mouse_up, sd);
+                                  _obj_mouse_up, obj);
    _smart_reconfigure(sd);
 }
 
@@ -1243,13 +1243,13 @@ _elm_widget_hover_object_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    if (sd->hover_obj)
      {
         evas_object_event_callback_del_full(sd->hover_obj, EVAS_CALLBACK_DEL,
-                                            _on_sub_obj_del, sd);
+                                            _on_sub_obj_del, obj);
      }
    sd->hover_obj = sobj;
    if (sd->hover_obj)
      {
         evas_object_event_callback_add(sobj, EVAS_CALLBACK_DEL,
-                                       _on_sub_obj_del, sd);
+                                       _on_sub_obj_del, obj);
         _smart_reconfigure(sd);
      }
 }
@@ -1295,7 +1295,7 @@ _elm_widget_can_focus_set(Eo *obj, void *_pd, va_list *list)
                   if (sdp->child_can_focus) break;
 
                   sdp->child_can_focus = EINA_TRUE;
-                  sdp = eo_data_get(sdp->parent_obj, MY_CLASS);
+                  sdp = eo_data_scope_get(sdp->parent_obj, MY_CLASS);
                }
           }
      }
@@ -1770,7 +1770,7 @@ _elm_widget_event_propagate(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
           (!(event_flags && ((*event_flags) & EVAS_EVENT_FLAG_ON_HOLD))))
      {
         ELM_WIDGET_CHECK(parent);
-        Elm_Widget_Smart_Data *sd = eo_data_get(parent, MY_CLASS);
+        Elm_Widget_Smart_Data *sd = eo_data_scope_get(parent, MY_CLASS);
 
         Eina_Bool int_ret = EINA_FALSE;
         eo_do(parent, elm_wdg_event(obj, type, event_info, &int_ret));
@@ -1831,7 +1831,7 @@ _elm_widget_focus_custom_chain_set(Eo *obj, void *_pd, va_list *list)
    EINA_LIST_FOREACH(objs, l, o)
      {
         evas_object_event_callback_add(o, EVAS_CALLBACK_DEL,
-                                       _elm_object_focus_chain_del_cb, sd);
+                                       _elm_object_focus_chain_del_cb, obj);
      }
 
    sd->focus_chain = objs;
@@ -1887,7 +1887,7 @@ _elm_widget_focus_custom_chain_unset(Eo *obj EINA_UNUSED, void *_pd, va_list *li
    EINA_LIST_FOREACH_SAFE(sd->focus_chain, l, l_next, o)
      {
         evas_object_event_callback_del_full(o, EVAS_CALLBACK_DEL,
-                                            _elm_object_focus_chain_del_cb, sd);
+                                            _elm_object_focus_chain_del_cb, obj);
         sd->focus_chain = eina_list_remove_list(sd->focus_chain, l);
      }
 }
@@ -1931,7 +1931,7 @@ _elm_widget_focus_custom_chain_append(Eo *obj, void *_pd, va_list *list)
    if (!_elm_widget_focus_chain_manager_is(obj)) return;
 
    evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL,
-                                       _elm_object_focus_chain_del_cb, sd);
+                                       _elm_object_focus_chain_del_cb, obj);
 
    if (!relative_child)
      sd->focus_chain = eina_list_append(sd->focus_chain, child);
@@ -1977,7 +1977,7 @@ _elm_widget_focus_custom_chain_prepend(Eo *obj, void *_pd, va_list *list)
    if (!_elm_widget_focus_chain_manager_is(obj)) return;
 
    evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL,
-                                       _elm_object_focus_chain_del_cb, sd);
+                                       _elm_object_focus_chain_del_cb, obj);
 
    if (!relative_child)
      sd->focus_chain = eina_list_prepend(sd->focus_chain, child);
@@ -3198,7 +3198,7 @@ _elm_widget_focus_steal(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
      {
         o = elm_widget_parent_get(parent);
         if (!o) break;
-        sd = eo_data_get(o, MY_CLASS);
+        sd = eo_data_scope_get(o, MY_CLASS);
         if (sd->disabled || sd->tree_unfocusable) return;
         if (sd->focused) break;
         parent = o;
@@ -3211,7 +3211,7 @@ _elm_widget_focus_steal(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
         parent2 = elm_widget_parent_get(parent);
         if (!parent2) parent2 = elm_widget_parent2_get(parent);
         parent = parent2;
-        sd = eo_data_get(parent, MY_CLASS);
+        sd = eo_data_scope_get(parent, MY_CLASS);
         if (sd)
           {
              if ((sd->resize_obj) && (elm_widget_focus_get(sd->resize_obj)))
@@ -3366,7 +3366,7 @@ _elm_widget_show_region_set(Eo *obj, void *_pd, va_list *list)
         parent_obj = sd->parent_obj;
         child_obj = sd->obj;
         if ((!parent_obj) || (!_elm_widget_is(parent_obj))) break;
-        sd = eo_data_get(parent_obj, MY_CLASS);
+        sd = eo_data_scope_get(parent_obj, MY_CLASS);
         if (!sd) break;
 
         evas_object_geometry_get(parent_obj, &px, &py, NULL, NULL);
index 3159c7a..9a1accb 100644 (file)
@@ -779,7 +779,7 @@ EAPI void             elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
 #define ELM_WIDGET_DATA_GET_OR_RETURN(o, ptr)        \
   Elm_Widget_Smart_Data *ptr;                       \
   ptr = (o ?        \
-        eo_data_get(o, ELM_OBJ_WIDGET_CLASS) :      \
+        eo_data_scope_get(o, ELM_OBJ_WIDGET_CLASS) :        \
         NULL);                                      \
   if (!ptr)                                         \
     {                                                \
index cd39437..2d72a64 100644 (file)
@@ -33,7 +33,7 @@ struct _Elm_Actionslider_Smart_Data
  */
 
 #define ELM_ACTIONSLIDER_DATA_GET(o, sd) \
-  Elm_Actionslider_Smart_Data * sd = eo_data_get(o, ELM_OBJ_ACTIONSLIDER_CLASS)
+  Elm_Actionslider_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_ACTIONSLIDER_CLASS)
 
 #define ELM_ACTIONSLIDER_DATA_GET_OR_RETURN(o, ptr)     \
   ELM_ACTIONSLIDER_DATA_GET(o, ptr);                    \
index 77ff381..2f34eea 100644 (file)
@@ -42,7 +42,7 @@ struct _Elm_Bg_Smart_Data
  */
 
 #define ELM_BG_DATA_GET(o, sd) \
-  Elm_Bg_Smart_Data * sd = eo_data_get(o, ELM_OBJ_BG_CLASS)
+  Elm_Bg_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_BG_CLASS)
 
 #define ELM_BG_DATA_GET_OR_RETURN(o, ptr)            \
   ELM_BG_DATA_GET(o, ptr);                           \
index a8993b0..4a498bb 100644 (file)
@@ -64,7 +64,7 @@ struct _Transition_Animation_Data
  */
 
 #define ELM_BOX_DATA_GET(o, sd) \
-  Elm_Box_Smart_Data * sd = eo_data_get(o, ELM_OBJ_BOX_CLASS)
+  Elm_Box_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_BOX_CLASS)
 
 #define ELM_BOX_DATA_GET_OR_RETURN(o, ptr)           \
   ELM_BOX_DATA_GET(o, ptr);                          \
index 2d7cacd..5620f06 100644 (file)
@@ -29,7 +29,7 @@ struct _Elm_Bubble_Smart_Data
  */
 
 #define ELM_BUBBLE_DATA_GET(o, sd) \
-  Elm_Bubble_Smart_Data * sd = eo_data_get(o, ELM_OBJ_BUBBLE_CLASS)
+  Elm_Bubble_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_BUBBLE_CLASS)
 
 #define ELM_BUBBLE_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_BUBBLE_DATA_GET(o, ptr);                       \
index 94a3fe1..b768111 100644 (file)
@@ -35,7 +35,7 @@ typedef struct _Elm_Button_Smart_Data
  */
 
 #define ELM_BUTTON_DATA_GET(o, sd) \
-  Elm_Button_Smart_Data * sd = eo_data_get(o, ELM_OBJ_BUTTON_CLASS)
+  Elm_Button_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_BUTTON_CLASS)
 
 #define ELM_BUTTON_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_BUTTON_DATA_GET(o, ptr);                       \
index 090b750..8925c3b 100644 (file)
@@ -65,7 +65,7 @@ struct _Elm_Calendar_Mark
  */
 
 #define ELM_CALENDAR_DATA_GET(o, sd) \
-  Elm_Calendar_Smart_Data * sd = eo_data_get(o, ELM_OBJ_CALENDAR_CLASS)
+  Elm_Calendar_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_CALENDAR_CLASS)
 
 #define ELM_CALENDAR_CHECK(obj)                       \
   if (!eo_isa((obj), ELM_OBJ_CALENDAR_CLASS)) \
index 79edc78..4a17964 100644 (file)
@@ -29,7 +29,7 @@ struct _Elm_Check_Smart_Data
  */
 
 #define ELM_CHECK_DATA_GET(o, sd) \
-  Elm_Check_Smart_Data * sd = eo_data_get(o, ELM_OBJ_CHECK_CLASS)
+  Elm_Check_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_CHECK_CLASS)
 
 #define ELM_CHECK_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_CHECK_DATA_GET(o, ptr);                        \
index 36b8e04..249caa2 100644 (file)
@@ -53,7 +53,7 @@ struct _Elm_Clock_Smart_Data
  */
 
 #define ELM_CLOCK_DATA_GET(o, sd) \
-  Elm_Clock_Smart_Data * sd = eo_data_get(o, ELM_OBJ_CLOCK_CLASS)
+  Elm_Clock_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_CLOCK_CLASS)
 
 #define ELM_CLOCK_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_CLOCK_DATA_GET(o, ptr);                        \
index ee7c00f..0c2463b 100644 (file)
@@ -98,7 +98,7 @@ struct _Elm_Color_Item
  */
 
 #define ELM_COLORSELECTOR_DATA_GET(o, sd) \
-  Elm_Colorselector_Smart_Data * sd = eo_data_get(o, ELM_OBJ_COLORSELECTOR_CLASS)
+  Elm_Colorselector_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_COLORSELECTOR_CLASS)
 
 #define ELM_COLORSELECTOR_DATA_GET_OR_RETURN(o, ptr) \
   ELM_COLORSELECTOR_DATA_GET(o, ptr);                \
index 6656561..db8bb34 100644 (file)
@@ -62,7 +62,7 @@ enum _Conformant_Part_Type
  */
 
 #define ELM_CONFORMANT_DATA_GET(o, sd) \
-  Elm_Conformant_Smart_Data * sd = eo_data_get(o, ELM_OBJ_CONFORMANT_CLASS)
+  Elm_Conformant_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_CONFORMANT_CLASS)
 
 #define ELM_CONFORMANT_DATA_GET_OR_RETURN(o, ptr)    \
   ELM_CONFORMANT_DATA_GET(o, ptr);                   \
index e8f18c1..11f3992 100644 (file)
@@ -59,7 +59,7 @@ struct _Elm_Ctxpopup_Smart_Data
  */
 
 #define ELM_CTXPOPUP_DATA_GET(o, sd) \
-  Elm_Ctxpopup_Smart_Data * sd = eo_data_get(o, ELM_OBJ_CTXPOPUP_CLASS)
+  Elm_Ctxpopup_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_CTXPOPUP_CLASS)
 
 #define ELM_CTXPOPUP_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_CTXPOPUP_DATA_GET(o, ptr);                     \
index 8078dcb..44a3901 100644 (file)
@@ -79,7 +79,7 @@ struct _Format_Map
  */
 
 #define ELM_DATETIME_DATA_GET(o, sd) \
-  Elm_Datetime_Smart_Data * sd = eo_data_get(o, ELM_OBJ_DATETIME_CLASS)
+  Elm_Datetime_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_DATETIME_CLASS)
 
 #define ELM_DATETIME_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_DATETIME_DATA_GET(o, ptr);                     \
index 2178d21..09c207d 100644 (file)
@@ -39,7 +39,7 @@ struct _Elm_Dayselector_Item
  */
 
 #define ELM_DAYSELECTOR_DATA_GET(o, sd) \
-  Elm_Dayselector_Smart_Data * sd = eo_data_get(o, ELM_OBJ_DAYSELECTOR_CLASS)
+  Elm_Dayselector_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_DAYSELECTOR_CLASS)
 
 #define ELM_DAYSELECTOR_DATA_GET_OR_RETURN(o, ptr)   \
   ELM_DAYSELECTOR_DATA_GET(o, ptr);                  \
index c5a9efc..68c95b7 100644 (file)
@@ -65,7 +65,7 @@ struct _Elm_Diskselector_Item
  */
 
 #define ELM_DISKSELECTOR_DATA_GET(o, sd) \
-  Elm_Diskselector_Smart_Data * sd = eo_data_get(o, ELM_OBJ_DISKSELECTOR_CLASS)
+  Elm_Diskselector_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_DISKSELECTOR_CLASS)
 
 #define ELM_DISKSELECTOR_DATA_GET_OR_RETURN(o, ptr)  \
   ELM_DISKSELECTOR_DATA_GET(o, ptr);                 \
index 9c62b65..b2ba26e 100644 (file)
@@ -130,7 +130,7 @@ typedef enum _Length_Unit
  */
 
 #define ELM_ENTRY_DATA_GET(o, sd) \
-  Elm_Entry_Smart_Data * sd = eo_data_get(o, ELM_OBJ_ENTRY_CLASS)
+  Elm_Entry_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_ENTRY_CLASS)
 
 #define ELM_ENTRY_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_ENTRY_DATA_GET(o, ptr);                        \
index d0d77f7..d656d0a 100644 (file)
@@ -77,7 +77,7 @@ typedef enum {
  */
 
 #define ELM_FILESELECTOR_DATA_GET(o, sd) \
-  Elm_Fileselector_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FILESELECTOR_CLASS)
+  Elm_Fileselector_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_CLASS)
 
 #define ELM_FILESELECTOR_DATA_GET_OR_RETURN(o, ptr)  \
   ELM_FILESELECTOR_DATA_GET(o, ptr);                 \
index 2b2e9c0..55e0c18 100644 (file)
@@ -47,7 +47,7 @@ struct _Elm_Fileselector_Button_Smart_Data
  */
 
 #define ELM_FILESELECTOR_BUTTON_DATA_GET(o, sd) \
-  Elm_Fileselector_Button_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FILESELECTOR_BUTTON_CLASS)
+  Elm_Fileselector_Button_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_BUTTON_CLASS)
 
 #define ELM_FILESELECTOR_BUTTON_DATA_GET_OR_RETURN(o, ptr) \
   ELM_FILESELECTOR_BUTTON_DATA_GET(o, ptr);                \
index 955d096..1c1e305 100644 (file)
@@ -37,7 +37,7 @@ struct _Elm_Fileselector_Entry_Smart_Data
 
 
 #define ELM_FILESELECTOR_ENTRY_DATA_GET(o, sd) \
-  Elm_Fileselector_Entry_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FILESELECTOR_ENTRY_CLASS)
+  Elm_Fileselector_Entry_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FILESELECTOR_ENTRY_CLASS)
 
 #define ELM_FILESELECTOR_ENTRY_DATA_GET_OR_RETURN(o, ptr) \
   ELM_FILESELECTOR_ENTRY_DATA_GET(o, ptr);                \
index b5daa8c..bf6aeec 100644 (file)
@@ -76,7 +76,7 @@ struct _Vertex3
  */
 
 #define ELM_FLIP_DATA_GET(o, sd) \
-  Elm_Flip_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FLIP_CLASS)
+  Elm_Flip_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FLIP_CLASS)
 
 #define ELM_FLIP_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_FLIP_DATA_GET(o, ptr);                         \
index feaa222..8b14e08 100644 (file)
@@ -47,7 +47,7 @@ struct _Elm_Flipselector_Item
 };
 
 #define ELM_FLIPSELECTOR_DATA_GET(o, sd) \
-  Elm_Flipselector_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FLIPSELECTOR_CLASS)
+  Elm_Flipselector_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FLIPSELECTOR_CLASS)
 
 #define ELM_FLIPSELECTOR_DATA_GET_OR_RETURN(o, ptr)  \
   ELM_FLIPSELECTOR_DATA_GET(o, ptr);                 \
index 210c48a..b726da2 100644 (file)
@@ -30,7 +30,7 @@ struct _Elm_Frame_Smart_Data
  */
 
 #define ELM_FRAME_DATA_GET(o, sd) \
-  Elm_Frame_Smart_Data * sd = eo_data_get(o, ELM_OBJ_FRAME_CLASS)
+  Elm_Frame_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_FRAME_CLASS)
 
 #define ELM_FRAME_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_FRAME_DATA_GET(o, ptr);                        \
index 09023a0..0b5d0b9 100644 (file)
@@ -133,10 +133,10 @@ struct _Elm_Gengrid_Pan_Smart_Data
  */
 
 #define ELM_GENGRID_DATA_GET(o, sd) \
-  Elm_Gengrid_Smart_Data * sd = eo_data_get(o, ELM_OBJ_GENGRID_CLASS)
+  Elm_Gengrid_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_GENGRID_CLASS)
 
 #define ELM_GENGRID_PAN_DATA_GET(o, sd) \
-  Elm_Gengrid_Pan_Smart_Data * sd = eo_data_get(o, ELM_OBJ_GENGRID_PAN_CLASS)
+  Elm_Gengrid_Pan_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_GENGRID_PAN_CLASS)
 
 #define ELM_GENGRID_DATA_GET_OR_RETURN(o, ptr)       \
   ELM_GENGRID_DATA_GET(o, ptr);                      \
index e27a74e..34f75c4 100644 (file)
@@ -279,10 +279,10 @@ struct _Elm_Genlist_Pan_Smart_Data
  */
 
 #define ELM_GENLIST_DATA_GET(o, sd) \
-  Elm_Genlist_Smart_Data * sd = eo_data_get(o, ELM_OBJ_GENLIST_CLASS)
+  Elm_Genlist_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_GENLIST_CLASS)
 
 #define ELM_GENLIST_PAN_DATA_GET(o, sd) \
-  Elm_Genlist_Pan_Smart_Data * sd = eo_data_get(o, ELM_OBJ_GENLIST_PAN_CLASS)
+  Elm_Genlist_Pan_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_GENLIST_PAN_CLASS)
 
 #define ELM_GENLIST_DATA_GET_OR_RETURN(o, ptr)       \
   ELM_GENLIST_DATA_GET(o, ptr);                      \
index ca4d7d3..e310d84 100644 (file)
@@ -47,7 +47,7 @@ struct _Elm_Glview_Smart_Data
  */
 
 #define ELM_GLVIEW_DATA_GET(o, sd) \
-  Elm_Glview_Smart_Data * sd = eo_data_get(o, ELM_OBJ_GLVIEW_CLASS)
+  Elm_Glview_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_GLVIEW_CLASS)
 
 #define ELM_GLVIEW_DATA_GET_OR_RETURN(o, ptr)           \
   ELM_GLVIEW_DATA_GET(o, ptr);                          \
index e070ca2..db4868e 100644 (file)
@@ -47,7 +47,7 @@ struct _Elm_Hover_Smart_Data
  */
 
 #define ELM_HOVER_DATA_GET(o, sd) \
-  Elm_Hover_Smart_Data * sd = eo_data_get(o, ELM_OBJ_HOVER_CLASS)
+  Elm_Hover_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_HOVER_CLASS)
 
 #define ELM_HOVER_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_HOVER_DATA_GET(o, ptr);                        \
index 8a03fd9..975ec0b 100644 (file)
@@ -52,7 +52,7 @@ struct _Elm_Hoversel_Item
  */
 
 #define ELM_HOVERSEL_DATA_GET(o, sd) \
-  Elm_Hoversel_Smart_Data * sd = eo_data_get(o, ELM_OBJ_HOVERSEL_CLASS)
+  Elm_Hoversel_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_HOVERSEL_CLASS)
 
 #define ELM_HOVERSEL_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_HOVERSEL_DATA_GET(o, ptr);                     \
index 5285859..b1cf56e 100644 (file)
@@ -60,7 +60,7 @@ struct _Elm_Icon_Smart_Data
  */
 
 #define ELM_ICON_DATA_GET(o, sd) \
-  Elm_Icon_Smart_Data * sd = eo_data_get(o, ELM_OBJ_ICON_CLASS)
+  Elm_Icon_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_ICON_CLASS)
 
 #define ELM_ICON_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_ICON_DATA_GET(o, ptr);                         \
index 42fc4d9..b8967c1 100644 (file)
@@ -63,7 +63,7 @@ struct _Elm_Image_Smart_Data
  */
 
 #define ELM_IMAGE_DATA_GET(o, sd) \
-  Elm_Image_Smart_Data * sd = eo_data_get(o, ELM_OBJ_IMAGE_CLASS)
+  Elm_Image_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_IMAGE_CLASS)
 
 #define ELM_IMAGE_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_IMAGE_DATA_GET(o, ptr);                        \
index 1dbcc4d..eca4fb2 100644 (file)
@@ -68,7 +68,7 @@ struct _Elm_Index_Omit
  * @}
  */
 #define ELM_INDEX_DATA_GET(o, sd) \
-  Elm_Index_Smart_Data * sd = eo_data_get(o, ELM_OBJ_INDEX_CLASS)
+  Elm_Index_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_INDEX_CLASS)
 
 #define ELM_INDEX_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_INDEX_DATA_GET(o, ptr);                        \
index 31d6c3e..2c90ee3 100644 (file)
@@ -27,7 +27,7 @@ struct _Elm_Inwin_Smart_Data
  */
 
 #define ELM_INWIN_DATA_GET(o, sd) \
-  Elm_Inwin_Smart_Data * sd = eo_data_get(o, ELM_OBJ_WIN_INWIN_CLASS)
+  Elm_Inwin_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_WIN_INWIN_CLASS)
 
 #define ELM_INWIN_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_INWIN_DATA_GET(o, ptr);                        \
index 23a93bb..babed63 100644 (file)
@@ -25,7 +25,7 @@ struct _Elm_Label_Smart_Data
 };
 
 #define ELM_LABEL_DATA_GET(o, sd) \
-  Elm_Label_Smart_Data * sd = eo_data_get(o, ELM_OBJ_LABEL_CLASS)
+  Elm_Label_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_LABEL_CLASS)
 
 #define ELM_LABEL_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_LABEL_DATA_GET(o, ptr);                        \
index c5412cb..b81def3 100644 (file)
@@ -90,7 +90,7 @@ typedef struct _Elm_Layout_Smart_Data
  */
 
 #define ELM_LAYOUT_DATA_GET(o, sd) \
-  Elm_Layout_Smart_Data * sd = eo_data_get(o, ELM_OBJ_LAYOUT_CLASS)
+  Elm_Layout_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_LAYOUT_CLASS)
 
 #define ELM_LAYOUT_CHECK(obj)                                                 \
   if (!eo_isa(obj, ELM_OBJ_LAYOUT_CLASS)) \
index a40fb84..628de21 100644 (file)
@@ -81,7 +81,7 @@ struct _Elm_List_Item
  */
 
 #define ELM_LIST_DATA_GET(o, sd) \
-  Elm_List_Smart_Data * sd = eo_data_get(o, ELM_OBJ_LIST_CLASS)
+  Elm_List_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_LIST_CLASS)
 
 #define ELM_LIST_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_LIST_DATA_GET(o, ptr);                         \
index e124c27..c6639cd 100644 (file)
@@ -489,10 +489,10 @@ struct _Elm_Map_Pan_Smart_Data
  */
 
 #define ELM_MAP_DATA_GET(o, sd) \
-  Elm_Map_Smart_Data * sd = eo_data_get(o, ELM_OBJ_MAP_CLASS)
+  Elm_Map_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_MAP_CLASS)
 
 #define ELM_MAP_PAN_DATA_GET(o, sd) \
-  Elm_Map_Pan_Smart_Data * sd = eo_data_get(o, ELM_OBJ_MAP_PAN_CLASS)
+  Elm_Map_Pan_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_MAP_PAN_CLASS)
 
 #define ELM_MAP_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_MAP_DATA_GET(o, ptr);                     \
index 49b0301..cc3f3b7 100644 (file)
@@ -33,7 +33,7 @@ struct _Elm_Mapbuf_Smart_Data
  */
 
 #define ELM_MAPBUF_DATA_GET(o, sd) \
-  Elm_Mapbuf_Smart_Data * sd = eo_data_get(o, ELM_OBJ_MAPBUF_CLASS)
+  Elm_Mapbuf_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_MAPBUF_CLASS)
 
 #define ELM_MAPBUF_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_MAPBUF_DATA_GET(o, ptr);                       \
index b9c2dbd..03e3ef0 100644 (file)
@@ -59,7 +59,7 @@ struct _Elm_Menu_Item
  */
 
 #define ELM_MENU_DATA_GET(o, sd) \
-  Elm_Menu_Smart_Data * sd = eo_data_get(o, ELM_OBJ_MENU_CLASS)
+  Elm_Menu_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_MENU_CLASS)
 
 #define ELM_MENU_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_MENU_DATA_GET(o, ptr);                         \
index 2b43daf..8d82e3e 100644 (file)
@@ -107,7 +107,7 @@ struct _Elm_Multibuttonentry_Smart_Data
  */
 
 #define ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(o, ptr) \
-  Elm_Multibuttonentry_Smart_Data *ptr = eo_data_get(o, ELM_OBJ_MULTIBUTTONENTRY_CLASS); \
+  Elm_Multibuttonentry_Smart_Data *ptr = eo_data_scope_get(o, ELM_OBJ_MULTIBUTTONENTRY_CLASS); \
   if (!ptr)                                             \
     {                                                   \
        CRITICAL("No widget data for object %p (%s)",    \
@@ -116,7 +116,7 @@ struct _Elm_Multibuttonentry_Smart_Data
     }
 
 #define ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
-  Elm_Multibuttonentry_Smart_Data * ptr = eo_data_get(o, ELM_OBJ_MULTIBUTTONENTRY_CLASS); \
+  Elm_Multibuttonentry_Smart_Data * ptr = eo_data_scope_get(o, ELM_OBJ_MULTIBUTTONENTRY_CLASS); \
   if (!ptr)                                                      \
     {                                                            \
        CRITICAL("No widget data for object %p (%s)",             \
index a41288e..284b9b4 100644 (file)
@@ -80,7 +80,7 @@ struct _Elm_Naviframe_Text_Item_Pair
  */
 
 #define ELM_NAVIFRAME_DATA_GET(o, sd) \
-  Elm_Naviframe_Smart_Data * sd = eo_data_get(o, ELM_OBJ_NAVIFRAME_CLASS)
+  Elm_Naviframe_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_NAVIFRAME_CLASS)
 
 #define ELM_NAVIFRAME_DATA_GET_OR_RETURN(o, ptr)     \
   ELM_NAVIFRAME_DATA_GET(o, ptr);                    \
index 0344a14..701bb45 100644 (file)
@@ -35,7 +35,7 @@ struct _Elm_Notify_Smart_Data
  */
 
 #define ELM_NOTIFY_DATA_GET(o, sd) \
-  Elm_Notify_Smart_Data * sd = eo_data_get(o, ELM_OBJ_NOTIFY_CLASS)
+  Elm_Notify_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_NOTIFY_CLASS)
 
 #define ELM_NOTIFY_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_NOTIFY_DATA_GET(o, ptr);                       \
index ed91348..2810169 100644 (file)
@@ -34,7 +34,7 @@ struct _Elm_Panel_Smart_Data
  */
 
 #define ELM_PANEL_DATA_GET(o, sd) \
-  Elm_Panel_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PANEL_CLASS)
+  Elm_Panel_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PANEL_CLASS)
 
 #define ELM_PANEL_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_PANEL_DATA_GET(o, ptr);                        \
index c8ce07d..accd079 100644 (file)
@@ -38,7 +38,7 @@ struct _Elm_Panes_Smart_Data
  */
 
 #define ELM_PANES_DATA_GET(o, sd) \
-  Elm_Panes_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PANES_CLASS)
+  Elm_Panes_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PANES_CLASS)
 
 #define ELM_PANES_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_PANES_DATA_GET(o, ptr);                        \
index c0f1258..50b9db2 100644 (file)
@@ -43,7 +43,7 @@ struct _Elm_Photo_Smart_Data
  */
 
 #define ELM_PHOTO_DATA_GET(o, sd) \
-  Elm_Photo_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PHOTO_CLASS)
+  Elm_Photo_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PHOTO_CLASS)
 
 #define ELM_PHOTO_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_PHOTO_DATA_GET(o, ptr);                        \
index 8c68eef..3091199 100644 (file)
@@ -132,10 +132,10 @@ struct _Elm_Photocam_Pan_Smart_Data
  */
 
 #define ELM_PHOTOCAM_DATA_GET(o, sd) \
-  Elm_Photocam_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PHOTOCAM_CLASS)
+  Elm_Photocam_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PHOTOCAM_CLASS)
 
 #define ELM_PHOTOCAM_PAN_DATA_GET(o, sd) \
-  Elm_Photocam_Pan_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PHOTOCAM_PAN_CLASS)
+  Elm_Photocam_Pan_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PHOTOCAM_PAN_CLASS)
 
 #define ELM_PHOTOCAM_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_PHOTOCAM_DATA_GET(o, ptr);                     \
index e428604..0b776c4 100644 (file)
@@ -43,7 +43,7 @@ struct _Elm_Player_Smart_Data
  */
 
 #define ELM_PLAYER_DATA_GET(o, sd) \
-  Elm_Player_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PLAYER_CLASS)
+  Elm_Player_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PLAYER_CLASS)
 
 #define ELM_PLAYER_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_PLAYER_DATA_GET(o, ptr);                       \
index abbddc0..604b1a1 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #define ELM_PLUG_DATA_GET(o, sd) \
-     Elm_Plug_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PLUG_CLASS)
+     Elm_Plug_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PLUG_CLASS)
 
 #define ELM_PLUG_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_PLUG_DATA_GET(o, ptr);                         \
index 50d97a1..5150258 100644 (file)
@@ -70,7 +70,7 @@ struct _Action_Area_Data
  */
 
 #define ELM_POPUP_DATA_GET(o, sd) \
-  Elm_Popup_Smart_Data * sd = eo_data_get(o, ELM_OBJ_POPUP_CLASS)
+  Elm_Popup_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_POPUP_CLASS)
 
 #define ELM_POPUP_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_POPUP_DATA_GET(o, ptr);                        \
index 8150df7..a66bd51 100644 (file)
@@ -91,7 +91,7 @@ extern const Eina_Hash *elm_prefs_item_type_widgets_map;
 extern const Elm_Prefs_Item_Iface *elm_prefs_item_default_widget;
 
 #define ELM_PREFS_DATA_GET(o, sd) \
-  Elm_Prefs_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PREFS_CLASS)
+  Elm_Prefs_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PREFS_CLASS)
 
 #define ELM_PREFS_ENTRY(o, sd)                                              \
   if (!sd->data_file || !sd->page)                                          \
index 6b24fd1..3747a17 100644 (file)
@@ -40,7 +40,7 @@ struct _Elm_Progressbar_Smart_Data
  */
 
 #define ELM_PROGRESSBAR_DATA_GET(o, sd) \
-  Elm_Progressbar_Smart_Data * sd = eo_data_get(o, ELM_OBJ_PROGRESSBAR_CLASS)
+  Elm_Progressbar_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_PROGRESSBAR_CLASS)
 
 #define ELM_PROGRESSBAR_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_PROGRESSBAR_DATA_GET(o, ptr);                       \
index 6952be3..1bd2815 100644 (file)
@@ -40,7 +40,7 @@ struct _Elm_Radio_Smart_Data
  */
 
 #define ELM_RADIO_DATA_GET(o, sd) \
-  Elm_Radio_Smart_Data * sd = eo_data_get(o, ELM_OBJ_RADIO_CLASS)
+  Elm_Radio_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_RADIO_CLASS)
 
 #define ELM_RADIO_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_RADIO_DATA_GET(o, ptr);                        \
index 96b0eeb..84e6e18 100644 (file)
@@ -51,7 +51,7 @@ struct Segment
  */
 
 #define ELM_ROUTE_DATA_GET(o, sd) \
-  Elm_Route_Smart_Data * sd = eo_data_get(o, ELM_OBJ_ROUTE_CLASS)
+  Elm_Route_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_ROUTE_CLASS)
 
 #define ELM_ROUTE_DATA_GET_OR_RETURN(o, ptr)          \
   ELM_ROUTE_DATA_GET(o, ptr);                         \
index 5bc931f..ef627e6 100644 (file)
@@ -34,7 +34,7 @@ struct _Elm_Scroller_Smart_Data
  */
 
 #define ELM_SCROLLER_DATA_GET(o, sd) \
-  Elm_Scroller_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SCROLLER_CLASS)
+  Elm_Scroller_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SCROLLER_CLASS)
 
 #define ELM_SCROLLER_DATA_GET_OR_RETURN(o, ptr)      \
   ELM_SCROLLER_DATA_GET(o, ptr);                     \
index f4ae299..44f34a4 100644 (file)
@@ -43,7 +43,7 @@ struct _Elm_Segment_Item
  */
 
 #define ELM_SEGMENT_CONTROL_DATA_GET(o, sd) \
-  Elm_Segment_Control_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SEGMENT_CONTROL_CLASS)
+  Elm_Segment_Control_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SEGMENT_CONTROL_CLASS)
 
 #define ELM_SEGMENT_CONTROL_DATA_GET_OR_RETURN(o, ptr) \
   ELM_SEGMENT_CONTROL_DATA_GET(o, ptr);                \
index 8aae6df..63f7397 100644 (file)
@@ -28,7 +28,7 @@ struct _Elm_Separator_Smart_Data
  */
 
 #define ELM_SEPARATOR_DATA_GET(o, sd) \
-  Elm_Separator_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SEPARATOR_CLASS)
+  Elm_Separator_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SEPARATOR_CLASS)
 
 #define ELM_SEPARATOR_DATA_GET_OR_RETURN(o, ptr)     \
   ELM_SEPARATOR_DATA_GET(o, ptr);                    \
index 342f84a..809a9ec 100644 (file)
@@ -49,7 +49,7 @@ struct _Elm_Slider_Smart_Data
  */
 
 #define ELM_SLIDER_DATA_GET(o, sd) \
-  Elm_Slider_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SLIDER_CLASS)
+  Elm_Slider_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SLIDER_CLASS)
 
 #define ELM_SLIDER_DATA_GET_OR_RETURN(o, ptr)        \
   ELM_SLIDER_DATA_GET(o, ptr);                       \
index 0a89dbb..0511647 100644 (file)
@@ -59,7 +59,7 @@ struct _Elm_Slideshow_Smart_Data
  */
 
 #define ELM_SLIDESHOW_DATA_GET(o, sd) \
-  Elm_Slideshow_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SLIDESHOW_CLASS)
+  Elm_Slideshow_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SLIDESHOW_CLASS)
 
 #define ELM_SLIDESHOW_DATA_GET_OR_RETURN(o, ptr)     \
   ELM_SLIDESHOW_DATA_GET(o, ptr);                    \
index f014c0f..5e62c7f 100644 (file)
@@ -53,7 +53,7 @@ struct _Elm_Spinner_Special_Value
  */
 
 #define ELM_SPINNER_DATA_GET(o, sd) \
-  Elm_Spinner_Smart_Data * sd = eo_data_get(o, ELM_OBJ_SPINNER_CLASS)
+  Elm_Spinner_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_SPINNER_CLASS)
 
 #define ELM_SPINNER_DATA_GET_OR_RETURN(o, ptr)       \
   ELM_SPINNER_DATA_GET(o, ptr);                      \
index 0b4be8e..7f71325 100644 (file)
@@ -58,7 +58,7 @@ struct _Elm_Thumb_Smart_Data
  */
 
 #define ELM_THUMB_DATA_GET(o, sd) \
-  Elm_Thumb_Smart_Data * sd = eo_data_get(o, ELM_OBJ_THUMB_CLASS)
+  Elm_Thumb_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_THUMB_CLASS)
 
 #define ELM_THUMB_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_THUMB_DATA_GET(o, ptr);                        \
index f445d55..3b28184 100644 (file)
@@ -95,7 +95,7 @@ struct _Elm_Toolbar_Item_State
  */
 
 #define ELM_TOOLBAR_DATA_GET(o, sd) \
-  Elm_Toolbar_Smart_Data * sd = eo_data_get(o, ELM_OBJ_TOOLBAR_CLASS)
+  Elm_Toolbar_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_TOOLBAR_CLASS)
 
 #define ELM_TOOLBAR_DATA_GET_OR_RETURN(o, ptr)       \
   ELM_TOOLBAR_DATA_GET(o, ptr);                      \
index 8307b63..e2979e5 100644 (file)
@@ -32,7 +32,7 @@ struct _Elm_Video_Smart_Data
  */
 
 #define ELM_VIDEO_DATA_GET(o, sd) \
-  Elm_Video_Smart_Data * sd = eo_data_get(o, ELM_OBJ_VIDEO_CLASS)
+  Elm_Video_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_VIDEO_CLASS)
 
 #define ELM_VIDEO_DATA_GET_OR_RETURN(o, ptr)         \
   ELM_VIDEO_DATA_GET(o, ptr);                        \
index ede3bd9..147f411 100644 (file)
@@ -123,7 +123,7 @@ struct _View_Smart_Data
  */
 
 #define ELM_WEB_DATA_GET(o, sd) \
-  Elm_Web_Smart_Data * sd = eo_data_get(o, ELM_OBJ_WEB_CLASS)
+  Elm_Web_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_WEB_CLASS)
 
 #define ELM_WEB_DATA_GET_OR_RETURN(o, ptr)           \
   ELM_WEB_DATA_GET(o, ptr);                          \
index cf6c544..2bc455c 100644 (file)
@@ -22,7 +22,7 @@ static const Elm_Win_Trap *trap = NULL;
   while (0)
 
 #define ELM_WIN_DATA_GET(o, sd) \
-  Elm_Win_Smart_Data * sd = eo_data_get(o, MY_CLASS)
+  Elm_Win_Smart_Data * sd = eo_data_scope_get(o, MY_CLASS)
 
 #define ELM_WIN_DATA_GET_OR_RETURN(o, ptr)           \
   ELM_WIN_DATA_GET(o, ptr);                          \
@@ -486,7 +486,7 @@ _shot_do(Elm_Win_Smart_Data *sd)
 static Eina_Bool
 _shot_delay(void *data)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    _shot_do(sd);
    if (sd->shot.repeat_count)
@@ -514,7 +514,7 @@ _shot_handle(Elm_Win_Smart_Data *sd)
 {
    if (!sd->shot.info) return;
 
-   sd->shot.timer = ecore_timer_add(_shot_delay_get(sd), _shot_delay, sd);
+   sd->shot.timer = ecore_timer_add(_shot_delay_get(sd), _shot_delay, sd->obj);
 }
 
 /* elm-win specific associate, does the trap while ecore_evas_object_associate()
@@ -523,21 +523,22 @@ _shot_handle(Elm_Win_Smart_Data *sd)
 static Elm_Win_Smart_Data *
 _elm_win_associate_get(const Ecore_Evas *ee)
 {
-   return ecore_evas_data_get(ee, "elm_win");
+   ELM_WIN_DATA_GET(ecore_evas_data_get(ee, "elm_win"), sd);
+   return sd;
 }
 
 /* Interceptors Callbacks */
 static void
 _elm_win_obj_intercept_raise(void *data, Evas_Object *obj __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    TRAP(sd, raise);
 }
 
 static void
 _elm_win_obj_intercept_lower(void *data, Evas_Object *obj __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    TRAP(sd, lower);
 }
 
@@ -556,7 +557,7 @@ _elm_win_obj_intercept_stack_below(void *data __UNUSED__, Evas_Object *obj __UNU
 static void
 _elm_win_obj_intercept_layer_set(void *data, Evas_Object *obj __UNUSED__, int l)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    TRAP(sd, layer_set, l);
 }
 
@@ -565,7 +566,7 @@ _elm_win_obj_intercept_layer_set(void *data, Evas_Object *obj __UNUSED__, int l)
 static void
 _elm_win_obj_callback_changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    Evas_Coord w, h;
 
    evas_object_size_hint_min_get(obj, &w, &h);
@@ -595,7 +596,7 @@ _elm_win_move(Ecore_Evas *ee)
 static void
 _elm_win_resize_job(void *data)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    int w, h;
 
    sd->deferred_resize_job = NULL;
@@ -628,7 +629,7 @@ _elm_win_resize(Ecore_Evas *ee)
    EINA_SAFETY_ON_NULL_RETURN(sd);
 
    if (sd->deferred_resize_job) ecore_job_del(sd->deferred_resize_job);
-   sd->deferred_resize_job = ecore_job_add(_elm_win_resize_job, sd);
+   sd->deferred_resize_job = ecore_job_add(_elm_win_resize_job, sd->obj);
 }
 
 static void
@@ -792,7 +793,8 @@ the_end:
 static void
 _elm_win_focus_highlight_reconfigure_job(void *data)
 {
-   _elm_win_focus_highlight_reconfigure((Elm_Win_Smart_Data *)data);
+   ELM_WIN_DATA_GET(data, sd);
+   _elm_win_focus_highlight_reconfigure(sd);
 }
 
 static void
@@ -802,7 +804,7 @@ _elm_win_focus_highlight_reconfigure_job_start(Elm_Win_Smart_Data *sd)
      ecore_job_del(sd->focus_highlight.reconf_job);
 
    sd->focus_highlight.reconf_job = ecore_job_add(
-       _elm_win_focus_highlight_reconfigure_job, sd);
+       _elm_win_focus_highlight_reconfigure_job, sd->obj);
 }
 
 static void
@@ -1058,7 +1060,7 @@ _elm_win_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    const Eina_List *items;
    void *(*list_data_get)(const Eina_List *list);
@@ -1107,7 +1109,7 @@ _elm_win_smart_focus_direction(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
    const Eina_List *items;
    void *(*list_data_get)(const Eina_List *list);
 
-   Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
+   Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
 
    /* Focus chain */
    if (wd->subobjs)
@@ -1256,7 +1258,7 @@ _elm_win_on_parent_del(void *data,
                        Evas_Object *obj,
                        void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    if (obj == sd->parent) sd->parent = NULL;
 }
@@ -1267,7 +1269,7 @@ _elm_win_focus_target_move(void *data,
                            Evas_Object *obj __UNUSED__,
                            void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    sd->focus_highlight.geometry_changed = EINA_TRUE;
    _elm_win_focus_highlight_reconfigure_job_start(sd);
@@ -1279,7 +1281,7 @@ _elm_win_focus_target_resize(void *data,
                              Evas_Object *obj __UNUSED__,
                              void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    sd->focus_highlight.geometry_changed = EINA_TRUE;
    _elm_win_focus_highlight_reconfigure_job_start(sd);
@@ -1291,7 +1293,7 @@ _elm_win_focus_target_del(void *data,
                           Evas_Object *obj __UNUSED__,
                           void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    sd->focus_highlight.cur.target = NULL;
 
@@ -1332,11 +1334,11 @@ _elm_win_focus_target_callbacks_add(Elm_Win_Smart_Data *sd)
    if (!obj) return;
 
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_MOVE, _elm_win_focus_target_move, sd);
+     (obj, EVAS_CALLBACK_MOVE, _elm_win_focus_target_move, sd->obj);
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_RESIZE, _elm_win_focus_target_resize, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_win_focus_target_resize, sd->obj);
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_DEL, _elm_win_focus_target_del, sd);
+     (obj, EVAS_CALLBACK_DEL, _elm_win_focus_target_del, sd->obj);
 }
 
 static void
@@ -1345,11 +1347,11 @@ _elm_win_focus_target_callbacks_del(Elm_Win_Smart_Data *sd)
    Evas_Object *obj = sd->focus_highlight.cur.target;
 
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_MOVE, _elm_win_focus_target_move, sd);
+     (obj, EVAS_CALLBACK_MOVE, _elm_win_focus_target_move, sd->obj);
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_RESIZE, _elm_win_focus_target_resize, sd);
+     (obj, EVAS_CALLBACK_RESIZE, _elm_win_focus_target_resize, sd->obj);
    evas_object_event_callback_del_full
-     (obj, EVAS_CALLBACK_DEL, _elm_win_focus_target_del, sd);
+     (obj, EVAS_CALLBACK_DEL, _elm_win_focus_target_del, sd->obj);
 }
 
 static void
@@ -1358,7 +1360,7 @@ _elm_win_object_focus_in(void *data,
                          void *event_info)
 {
    Evas_Object *obj = event_info, *target;
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    if (sd->focus_highlight.cur.target == obj)
      return;
@@ -1378,7 +1380,7 @@ _elm_win_object_focus_out(void *data,
                           Evas *e __UNUSED__,
                           void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    if (!sd->focus_highlight.cur.target)
      return;
@@ -1409,10 +1411,10 @@ _elm_win_focus_highlight_shutdown(Elm_Win_Smart_Data *sd)
 
    evas_event_callback_del_full
      (sd->evas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
-     _elm_win_object_focus_in, sd);
+     _elm_win_object_focus_in, sd->obj);
    evas_event_callback_del_full
      (sd->evas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
-     _elm_win_object_focus_out, sd);
+     _elm_win_object_focus_out, sd->obj);
 }
 
 static void
@@ -1421,7 +1423,7 @@ _elm_win_on_img_obj_del(void *data,
                         Evas_Object *obj __UNUSED__,
                         void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    sd->img_obj = NULL;
 }
 
@@ -1445,7 +1447,7 @@ _elm_win_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    if (sd->parent)
      {
         evas_object_event_callback_del_full
-          (sd->parent, EVAS_CALLBACK_DEL, _elm_win_on_parent_del, sd);
+          (sd->parent, EVAS_CALLBACK_DEL, _elm_win_on_parent_del, obj);
         sd->parent = NULL;
      }
 
@@ -1475,7 +1477,7 @@ _elm_win_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    if (sd->img_obj)
      {
         evas_object_event_callback_del_full
-           (sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, sd);
+           (sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, obj);
         sd->img_obj = NULL;
      }
    else
@@ -1526,7 +1528,7 @@ static void
 _elm_win_obj_intercept_show(void *data,
                             Evas_Object *obj)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    // this is called to make sure all smart containers have calculated their
    // sizes BEFORE we show the window to make sure it initially appears at
@@ -1933,7 +1935,7 @@ _elm_win_client_message(void *data,
                         int type __UNUSED__,
                         void *event)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
    Ecore_X_Event_Client_Message *e = event;
 
    if (e->format != 32) return ECORE_CALLBACK_PASS_ON;
@@ -2064,7 +2066,7 @@ _elm_win_focus_highlight_anim_end(void *data,
                                   const char *emission __UNUSED__,
                                   const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    _elm_win_focus_highlight_simple_setup(sd, obj);
 }
@@ -2073,10 +2075,10 @@ static void
 _elm_win_focus_highlight_init(Elm_Win_Smart_Data *sd)
 {
    evas_event_callback_add(sd->evas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
-                           _elm_win_object_focus_in, sd);
+                           _elm_win_object_focus_in, sd->obj);
    evas_event_callback_add(sd->evas,
                            EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
-                           _elm_win_object_focus_out, sd);
+                           _elm_win_object_focus_out, sd->obj);
 
    sd->focus_highlight.cur.target = evas_focus_get(sd->evas);
 
@@ -2087,7 +2089,7 @@ _elm_win_focus_highlight_init(Elm_Win_Smart_Data *sd)
                                    _elm_win_focus_highlight_hide, NULL);
    edje_object_signal_callback_add(sd->focus_highlight.top,
                                    "elm,action,focus,anim,end", "",
-                                   _elm_win_focus_highlight_anim_end, sd);
+                                   _elm_win_focus_highlight_anim_end, sd->obj);
    _elm_win_focus_highlight_reconfigure_job_start(sd);
 }
 
@@ -2097,9 +2099,9 @@ _elm_win_frame_cb_move_start(void *data,
                              const char *sig __UNUSED__,
                              const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
 
-   if (!(sd = data)) return;
+   if (!sd) return;
    /* FIXME: Change mouse pointer */
 
    /* NB: Wayland handles moving surfaces by itself so we cannot
@@ -2141,9 +2143,9 @@ _elm_win_frame_cb_resize_show(void *data,
                               const char *sig __UNUSED__,
                               const char *source)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
 
-   if (!(sd = data)) return;
+   if (!sd) return;
    if (sd->resizing) return;
 
 #ifdef HAVE_ELEMENTARY_WAYLAND
@@ -2186,9 +2188,9 @@ _elm_win_frame_cb_resize_hide(void *data,
                               const char *sig __UNUSED__,
                               const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
 
-   if (!(sd = data)) return;
+   if (!sd) return;
    if (sd->resizing) return;
 
 #ifdef HAVE_ELEMENTARY_WAYLAND
@@ -2203,10 +2205,10 @@ _elm_win_frame_cb_resize_start(void *data,
                                const char *source)
 {
 #ifdef HAVE_ELEMENTARY_WAYLAND
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
    int i;
 
-   if (!(sd = data)) return;
+   if (!sd) return;
    if (sd->resizing) return;
 
    sd->resizing = EINA_TRUE;
@@ -2241,9 +2243,9 @@ _elm_win_frame_cb_minimize(void *data,
                            const char *sig __UNUSED__,
                            const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
 
-   if (!(sd = data)) return;
+   if (!sd) return;
 //   sd->iconified = EINA_TRUE;
    TRAP(sd, iconified_set, EINA_TRUE);
 }
@@ -2254,9 +2256,9 @@ _elm_win_frame_cb_maximize(void *data,
                            const char *sig __UNUSED__,
                            const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
 
-   if (!(sd = data)) return;
+   if (!sd) return;
    if (sd->maximized) sd->maximized = EINA_FALSE;
    else sd->maximized = EINA_TRUE;
    TRAP(sd, maximized_set, sd->maximized);
@@ -2268,7 +2270,7 @@ _elm_win_frame_cb_close(void *data,
                         const char *sig __UNUSED__,
                         const char *source __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd;
+   ELM_WIN_DATA_GET(data, sd);
    Evas_Object *win;
 
    /* FIXME: After the current freeze, this should be handled differently.
@@ -2284,7 +2286,7 @@ _elm_win_frame_cb_close(void *data,
     * way which does not break API or the freeze. - dh
     */
 
-   if (!(sd = data)) return;
+   if (!sd) return;
 
    win = sd->obj;
 
@@ -2318,24 +2320,24 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd,
 
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,move,start", "elm",
-     _elm_win_frame_cb_move_start, sd);
+     _elm_win_frame_cb_move_start, obj);
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,resize,show", "*",
-     _elm_win_frame_cb_resize_show, sd);
+     _elm_win_frame_cb_resize_show, obj);
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,resize,hide", "*",
-     _elm_win_frame_cb_resize_hide, sd);
+     _elm_win_frame_cb_resize_hide, obj);
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,resize,start", "*",
-     _elm_win_frame_cb_resize_start, sd);
+     _elm_win_frame_cb_resize_start, obj);
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,minimize", "elm",
-     _elm_win_frame_cb_minimize, sd);
+     _elm_win_frame_cb_minimize, obj);
    edje_object_signal_callback_add
      (sd->frame_obj, "elm,action,maximize", "elm",
-     _elm_win_frame_cb_maximize, sd);
+     _elm_win_frame_cb_maximize, obj);
    edje_object_signal_callback_add
-     (sd->frame_obj, "elm,action,close", "elm", _elm_win_frame_cb_close, sd);
+     (sd->frame_obj, "elm,action,close", "elm", _elm_win_frame_cb_close, obj);
 
    if (sd->title)
      {
@@ -2404,9 +2406,7 @@ _win_img_hide(void *data,
               Evas_Object *obj __UNUSED__,
               void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
-
-   elm_widget_focus_hide_handle(sd->obj);
+   elm_widget_focus_hide_handle(data);
 }
 
 static void
@@ -2415,10 +2415,9 @@ _win_img_mouse_up(void *data,
                   Evas_Object *obj __UNUSED__,
                   void *event_info)
 {
-   Elm_Win_Smart_Data *sd = data;
    Evas_Event_Mouse_Up *ev = event_info;
    if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
-     elm_widget_focus_mouse_up_handle(sd->obj);
+     elm_widget_focus_mouse_up_handle(data);
 }
 
 static void
@@ -2427,8 +2426,7 @@ _win_img_focus_in(void *data,
                   Evas_Object *obj __UNUSED__,
                   void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
-   elm_widget_focus_steal(sd->obj);
+   elm_widget_focus_steal(data);
 }
 
 static void
@@ -2437,8 +2435,7 @@ _win_img_focus_out(void *data,
                    Evas_Object *obj __UNUSED__,
                    void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
-   elm_widget_focused_object_clear(sd->obj);
+   elm_widget_focused_object_clear(data);
 }
 
 static void
@@ -2448,15 +2445,15 @@ _win_inlined_image_set(Elm_Win_Smart_Data *sd)
    evas_object_image_filled_set(sd->img_obj, EINA_TRUE);
 
    evas_object_event_callback_add
-     (sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, sd);
+     (sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, sd->obj);
    evas_object_event_callback_add
-     (sd->img_obj, EVAS_CALLBACK_HIDE, _win_img_hide, sd);
+     (sd->img_obj, EVAS_CALLBACK_HIDE, _win_img_hide, sd->obj);
    evas_object_event_callback_add
-     (sd->img_obj, EVAS_CALLBACK_MOUSE_UP, _win_img_mouse_up, sd);
+     (sd->img_obj, EVAS_CALLBACK_MOUSE_UP, _win_img_mouse_up, sd->obj);
    evas_object_event_callback_add
-     (sd->img_obj, EVAS_CALLBACK_FOCUS_IN, _win_img_focus_in, sd);
+     (sd->img_obj, EVAS_CALLBACK_FOCUS_IN, _win_img_focus_in, sd->obj);
    evas_object_event_callback_add
-     (sd->img_obj, EVAS_CALLBACK_FOCUS_OUT, _win_img_focus_out, sd);
+     (sd->img_obj, EVAS_CALLBACK_FOCUS_OUT, _win_img_focus_out, sd->obj);
 }
 
 static void
@@ -2465,7 +2462,7 @@ _elm_win_on_icon_del(void *data,
                      Evas_Object *obj,
                      void *event_info __UNUSED__)
 {
-   Elm_Win_Smart_Data *sd = data;
+   ELM_WIN_DATA_GET(data, sd);
 
    if (sd->icon == obj) sd->icon = NULL;
 }
@@ -2803,9 +2800,9 @@ _win_constructor(Eo *obj, void *_pd, va_list *list)
             ENGINE_COMPARE(ELM_OPENGL_X11))
      {
         sd->x.client_message_handler = ecore_event_handler_add
-            (ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, sd);
+            (ECORE_X_EVENT_CLIENT_MESSAGE, _elm_win_client_message, obj);
         sd->x.property_handler = ecore_event_handler_add
-            (ECORE_X_EVENT_WINDOW_PROPERTY, _elm_win_property_change, sd);
+            (ECORE_X_EVENT_WINDOW_PROPERTY, _elm_win_property_change, obj);
      }
 #endif
 
@@ -2846,7 +2843,7 @@ _win_constructor(Eo *obj, void *_pd, va_list *list)
 
    if (sd->parent)
      evas_object_event_callback_add
-       (sd->parent, EVAS_CALLBACK_DEL, _elm_win_on_parent_del, sd);
+       (sd->parent, EVAS_CALLBACK_DEL, _elm_win_on_parent_del, obj);
 
    sd->evas = ecore_evas_get(sd->ee);
 
@@ -2860,24 +2857,24 @@ _win_constructor(Eo *obj, void *_pd, va_list *list)
      elm_widget_parent2_set(obj, parent);
 
    /* use own version of ecore_evas_object_associate() that does TRAP() */
-   ecore_evas_data_set(sd->ee, "elm_win", sd);
+   ecore_evas_data_set(sd->ee, "elm_win", obj);
 
    evas_object_event_callback_add
      (obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-      _elm_win_obj_callback_changed_size_hints, sd);
+      _elm_win_obj_callback_changed_size_hints, obj);
 
    evas_object_intercept_raise_callback_add
-     (obj, _elm_win_obj_intercept_raise, sd);
+     (obj, _elm_win_obj_intercept_raise, obj);
    evas_object_intercept_lower_callback_add
-     (obj, _elm_win_obj_intercept_lower, sd);
+     (obj, _elm_win_obj_intercept_lower, obj);
    evas_object_intercept_stack_above_callback_add
-     (obj, _elm_win_obj_intercept_stack_above, sd);
+     (obj, _elm_win_obj_intercept_stack_above, obj);
    evas_object_intercept_stack_below_callback_add
-     (obj, _elm_win_obj_intercept_stack_below, sd);
+     (obj, _elm_win_obj_intercept_stack_below, obj);
    evas_object_intercept_layer_set_callback_add
-     (obj, _elm_win_obj_intercept_layer_set, sd);
+     (obj, _elm_win_obj_intercept_layer_set, obj);
    evas_object_intercept_show_callback_add
-     (obj, _elm_win_obj_intercept_show, sd);
+     (obj, _elm_win_obj_intercept_show, obj);
 
    TRAP(sd, name_class_set, name, _elm_appname);
    ecore_evas_callback_delete_request_set(sd->ee, _elm_win_delete_request);
@@ -2887,8 +2884,8 @@ _win_constructor(Eo *obj, void *_pd, va_list *list)
    ecore_evas_callback_focus_out_set(sd->ee, _elm_win_focus_out);
    ecore_evas_callback_move_set(sd->ee, _elm_win_move);
    ecore_evas_callback_state_change_set(sd->ee, _elm_win_state_change);
-   evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, _elm_win_cb_hide, sd);
-   evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, _elm_win_cb_show, sd);
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, _elm_win_cb_hide, NULL);
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, _elm_win_cb_show, NULL);
 
    evas_image_cache_set(sd->evas, (_elm_config->image_cache * 1024));
    evas_font_cache_set(sd->evas, (_elm_config->font_cache * 1024));
@@ -2926,7 +2923,7 @@ _win_constructor(Eo *obj, void *_pd, va_list *list)
 #ifdef ELM_DEBUG
    Evas_Modifier_Mask mask = evas_key_modifier_mask_get(sd->evas, "Control");
    evas_object_event_callback_add
-     (obj, EVAS_CALLBACK_KEY_DOWN, _debug_key_down, sd);
+     (obj, EVAS_CALLBACK_KEY_DOWN, _debug_key_down, NULL);
 
    if (evas_object_key_grab(obj, "F12", mask, 0, EINA_TRUE))
      INF("Ctrl+F12 key combination exclusive for dot tree generation\n");
@@ -3165,18 +3162,18 @@ elm_win_icon_object_set(Evas_Object *obj,
 }
 
 static void
-_icon_object_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+_icon_object_set(Eo *obj, void *_pd, va_list *list)
 {
    Evas_Object *icon = va_arg(*list, Evas_Object *);
    Elm_Win_Smart_Data *sd = _pd;
 
    if (sd->icon)
      evas_object_event_callback_del_full
-       (sd->icon, EVAS_CALLBACK_DEL, _elm_win_on_icon_del, sd);
+       (sd->icon, EVAS_CALLBACK_DEL, _elm_win_on_icon_del, obj);
    sd->icon = icon;
    if (sd->icon)
      evas_object_event_callback_add
-       (sd->icon, EVAS_CALLBACK_DEL, _elm_win_on_icon_del, sd);
+       (sd->icon, EVAS_CALLBACK_DEL, _elm_win_on_icon_del, obj);
 #ifdef HAVE_ELEMENTARY_X
    _elm_win_xwin_update(sd);
 #endif