}
EAPI char *
-<<<<<<< HEAD
-_elm_access_text_get(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item)
-=======
_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item)
->>>>>>> remotes/origin/upstream
{
Elm_Access_Item *ai;
Eina_List *l;
}
EAPI Elm_Access_Info *
-<<<<<<< HEAD
-_elm_access_object_get(Evas_Object *obj)
-=======
_elm_access_object_get(const Evas_Object *obj)
->>>>>>> remotes/origin/upstream
{
return evas_object_data_get(obj, "_elm_access");
}
EAPI Elm_Access_Info *
-<<<<<<< HEAD
-_elm_access_item_get(Elm_Widget_Item *it)
-=======
_elm_access_item_get(const Elm_Widget_Item *it)
->>>>>>> remotes/origin/upstream
{
return it->access;
}
}
}
-static void
-_access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+static void _access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__);
+
+EAPI void
+_elm_access_item_unregister(Elm_Widget_Item *item)
{
Elm_Access_Info *ac;
- evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_IN,
- _access_item_mouse_in_cb, data);
- evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_OUT,
- _access_item_mouse_out_cb, data);
- evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
- _access_item_del_cb, data);
- ac = ((Elm_Widget_Item *)data)->access;
- ((Elm_Widget_Item *)data)->access = NULL;
+ ac = item->access;
if (ac)
{
+ evas_object_event_callback_del_full(ac->hoverobj,
+ EVAS_CALLBACK_MOUSE_IN,
+ _access_item_mouse_in_cb, item);
+ evas_object_event_callback_del_full(ac->hoverobj,
+ EVAS_CALLBACK_MOUSE_OUT,
+ _access_item_mouse_out_cb, item);
+ evas_object_event_callback_del_full(ac->hoverobj,
+ EVAS_CALLBACK_DEL,
+ _access_item_del_cb, item);
+ item->access = NULL;
_elm_access_clear(ac);
free(ac);
}
}
+static void
+_access_item_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+ _elm_access_item_unregister((Elm_Widget_Item *)data);
+}
+
EAPI void
_elm_access_item_register(Elm_Widget_Item *item, Evas_Object *hoverobj)
{
evas_object_event_callback_add(hoverobj, EVAS_CALLBACK_DEL,
_access_item_del_cb, item);
ac = calloc(1, sizeof(Elm_Access_Info));
+ ac->hoverobj = hoverobj;
item->access = ac;
}