summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2015-05-28 17:47:49 +0100
committerTom Hacohen <tom@stosb.com>2015-05-28 17:48:02 +0100
commit0d8e2479b3a7f0b4ca343435e8a24676fd6bfc67 (patch)
tree577251544afc1f6e9541378e47fb7a5df13e6bef
parent2fd7b01f4371e24208c245949d64fcc8f2042b7c (diff)
downloadelementary-0d8e2479b3a7f0b4ca343435e8a24676fd6bfc67.tar.gz
Adjust according to Eo changes.
-rw-r--r--src/lib/elm_atspi_bridge.c6
-rw-r--r--src/lib/elm_cnp.c4
-rw-r--r--src/lib/elm_interface_atspi_image.c20
-rw-r--r--src/lib/elm_widget.h2
4 files changed, 23 insertions, 9 deletions
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index ec9e2db15..7857c5c6a 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 2de648ae1..2916a6f55 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 05c39284f..7e8eeefc8 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 784c317cb..7ab1a587e 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