tasn pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0d8e2479b3a7f0b4ca343435e8a24676fd6bfc67

commit 0d8e2479b3a7f0b4ca343435e8a24676fd6bfc67
Author: Tom Hacohen <t...@stosb.com>
Date:   Thu May 28 17:47:49 2015 +0100

    Adjust according to Eo changes.
---
 src/lib/elm_atspi_bridge.c          |  6 +++---
 src/lib/elm_cnp.c                   |  4 ++--
 src/lib/elm_interface_atspi_image.c | 20 +++++++++++++++++---
 src/lib/elm_widget.h                |  2 +-
 4 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index ec9e2db..7857c5c 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -3136,7 +3136,7 @@ static void _object_register(Eo *obj, char *path)
         eldbus_service_interface_register(_a11y_bus, path, 
&accessible_iface_desc);
 
         event_infc = eldbus_service_interface_register(_a11y_bus, path, 
&event_iface_desc);
-        eo_do(obj, eo_key_data_set("event_interface", event_infc, NULL));
+        eo_do(obj, eo_key_data_set("event_interface", event_infc));
         eo_do(obj, eo_event_callback_array_add(_events_cb(), event_infc));
 
         if (eo_isa(obj, ELM_INTERFACE_ATSPI_COMPONENT_MIXIN))
@@ -3144,7 +3144,7 @@ static void _object_register(Eo *obj, char *path)
         if (eo_isa(obj, ELM_INTERFACE_ATSPI_WINDOW_INTERFACE))
           {
              infc = eldbus_service_interface_register(_a11y_bus, path, 
&window_iface_desc);
-             eo_do(obj, eo_key_data_set("window_interface", infc, NULL));
+             eo_do(obj, eo_key_data_set("window_interface", infc));
              eo_do(obj, eo_event_callback_array_add(_window_cb(), infc));
           }
         if (eo_isa(obj, ELM_INTERFACE_ATSPI_ACTION_MIXIN))
@@ -3176,7 +3176,7 @@ static void _object_unregister(void *obj)
    if (_a11y_bus && event_infc)
      {
         eldbus_service_object_unregister(event_infc);
-        eo_do(obj, eo_key_data_set("event_interface", NULL, NULL));
+        eo_do(obj, eo_key_data_set("event_interface", NULL));
      }
 
    eo_do(obj, eo_event_callback_del(EO_EV_DEL, _on_cache_item_del, NULL));
diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index 2de648a..2916a6f 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -2129,7 +2129,7 @@ _x11_elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format 
format,
         drops = eina_list_append(drops, dropable);
         if (!drops) goto error;
         dropable->obj = obj;
-        eo_do(obj, eo_key_data_set("__elm_dropable", dropable, NULL));
+        eo_do(obj, eo_key_data_set("__elm_dropable", dropable));
      }
    dropable->cbs_list = eina_inlist_append(dropable->cbs_list, 
EINA_INLIST_GET(cbs));
 
@@ -2857,7 +2857,7 @@ _wl_elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format 
format, Elm_Drag_State
         drops = eina_list_append(drops, dropable);
         if (!drops) goto error;
         dropable->obj = obj;
-        eo_do(obj, eo_key_data_set("__elm_dropable", dropable, NULL));
+        eo_do(obj, eo_key_data_set("__elm_dropable", dropable));
      }
    dropable->cbs_list = eina_inlist_append(dropable->cbs_list, 
EINA_INLIST_GET(cbs));
 
diff --git a/src/lib/elm_interface_atspi_image.c 
b/src/lib/elm_interface_atspi_image.c
index 05c3928..7e8eeef 100644
--- a/src/lib/elm_interface_atspi_image.c
+++ b/src/lib/elm_interface_atspi_image.c
@@ -8,10 +8,12 @@
 #include "elm_widget.h"
 #include "elm_priv.h"
 
-static void
-_free_desc(void *data)
+static Eina_Bool
+_free_desc_cb(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
    eina_stringshare_del(data);
+
+   return EINA_TRUE;
 }
 
 EOLIAN static const char*
@@ -26,8 +28,20 @@ _elm_interface_atspi_image_description_get(Eo *obj, void *sd 
EINA_UNUSED)
 EOLIAN static void
 _elm_interface_atspi_image_description_set(Eo *obj, void *sd EINA_UNUSED, 
const char *description)
 {
+   const char *key = "atspi_image_description";
    const char *descr = eina_stringshare_add(description);
-   eo_do(obj, eo_key_data_set("atspi_image_description", descr, _free_desc));
+   char *old_descr;
+   if (eo_do_ret(obj, old_descr, eo_key_data_get(key)))
+     {
+        eina_stringshare_del(old_descr);
+        eo_do(obj, eo_event_callback_del(EO_BASE_EVENT_DEL, _free_desc_cb, 
old_descr));
+     }
+
+   if (descr)
+     {
+        eo_do(obj, eo_key_data_set(key, descr),
+              eo_event_callback_add(EO_BASE_EVENT_DEL, _free_desc_cb, descr));
+     }
 }
 
 EOLIAN static const char*
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index 784c317..7ab1a58 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -588,7 +588,7 @@ struct _Elm_Widget_Item_Signal_Data
 
 #define WIDGET_ITEM_DATA_SET(eo_obj, data) \
 { \
-    eo_do(eo_obj, eo_key_data_set("__elm_widget_item_data", data, NULL)); \
+    eo_do(eo_obj, eo_key_data_set("__elm_widget_item_data", data)); \
 }
 
 struct _Elm_Widget_Item_Data

-- 


Reply via email to