forked from enlightenment/efl
evas: properly disable Evas_Object event catching once we can't access Evas anymore.
This commit is contained in:
parent
5420ebaf32
commit
30c5225bec
|
@ -724,3 +724,9 @@ evas_object_callback_init(Efl_Canvas_Object *eo_obj, Evas_Object_Protected_Data
|
|||
{
|
||||
efl_event_callback_array_add(eo_obj, event_catcher_watch(), obj);
|
||||
}
|
||||
|
||||
void
|
||||
evas_object_callback_shutdown(Efl_Canvas_Object *eo_obj, Evas_Object_Protected_Data *obj)
|
||||
{
|
||||
efl_event_callback_array_del(eo_obj, event_catcher_watch(), obj);
|
||||
}
|
||||
|
|
|
@ -397,6 +397,7 @@ evas_object_free(Evas_Object *eo_obj, Eina_Bool clean_layer)
|
|||
|
||||
int was_smart_child = 0;
|
||||
|
||||
evas_object_callback_shutdown(eo_obj, obj);
|
||||
if (efl_isa(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS))
|
||||
_evas_object_image_free(eo_obj);
|
||||
evas_object_map_set(eo_obj, NULL);
|
||||
|
|
|
@ -1636,6 +1636,7 @@ void evas_object_clip_across_clippees_check(Evas_Object *obj, Evas_Object_Protec
|
|||
void evas_object_mapped_clip_across_mark(Evas_Object *obj, Evas_Object_Protected_Data *pd);
|
||||
void evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info);
|
||||
void evas_object_callback_init(Efl_Canvas_Object *eo_obj, Evas_Object_Protected_Data *obj);
|
||||
void evas_object_callback_shutdown(Efl_Canvas_Object *eo_obj, Evas_Object_Protected_Data *obj);
|
||||
void evas_object_event_callback_call(Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Callback_Type type, void *event_info, int event_id, const Efl_Event_Description *efl_event_desc);
|
||||
Eina_List *evas_event_objects_event_list(Evas *e, Evas_Object *stop, int x, int y);
|
||||
int evas_mem_free(int mem_required);
|
||||
|
|
Loading…
Reference in New Issue