summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCedric Bail <cedric@osg.samsung.com>2017-08-11 10:15:14 -0700
committerCedric Bail <cedric@osg.samsung.com>2017-08-11 10:18:07 -0700
commit207cab086f290878cd584e6c61b3cd2696c5fd88 (patch)
tree00335bc48dfa2567bcf8397cf777a7ba6b51fd53 /src/lib
parentc358ac0222c56356d4ed2d2cb722c61e67e56dec (diff)
evas: we should be able to access this data during an object being destroyed.
So, this is maybe not the best fix. The question is should we be able to get efl_data_scope_safe_get return the object private data, when we are currently executing the object EFL_EVENT_DEL callbacks. Right now we don't and this lead to bug where we wouldn't have been able to destroy a callback and get that callback triggered later on destroyed data (I had a crash in terminology). I have switched back to the not _safe_ version which doesn't enforce this, but that might not be the only place that need a fix.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index 184b500743..1ed32e5ab9 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -485,7 +485,7 @@ evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type
485EAPI void * 485EAPI void *
486evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func) 486evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)
487{ 487{
488 Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); 488 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
489 Evas_Event_Cb_Wrapper_Info *info; 489 Evas_Event_Cb_Wrapper_Info *info;
490 490
491 if (!obj) return NULL; 491 if (!obj) return NULL;
@@ -512,7 +512,7 @@ evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Eva
512EAPI void * 512EAPI void *
513evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) 513evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
514{ 514{
515 Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); 515 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
516 Evas_Event_Cb_Wrapper_Info *info; 516 Evas_Event_Cb_Wrapper_Info *info;
517 517
518 if (!obj) return NULL; 518 if (!obj) return NULL;
@@ -568,7 +568,7 @@ evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, Evas_Callb
568EAPI void * 568EAPI void *
569evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func) 569evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func)
570{ 570{
571 Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); 571 Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
572 Evas_Event_Cb_Wrapper_Info *info; 572 Evas_Event_Cb_Wrapper_Info *info;
573 573
574 if (!e) return NULL; 574 if (!e) return NULL;
@@ -595,7 +595,7 @@ evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func)
595EAPI void * 595EAPI void *
596evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) 596evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)
597{ 597{
598 Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS); 598 Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
599 Evas_Event_Cb_Wrapper_Info *info; 599 Evas_Event_Cb_Wrapper_Info *info;
600 600
601 if (!e) return NULL; 601 if (!e) return NULL;