raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b3b0411a05165b121da46ef9718e8a1d628a76bd

commit b3b0411a05165b121da46ef9718e8a1d628a76bd
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Sun Jul 23 18:53:46 2017 +0900

    evas callbacks - check if obj->events is valid because it's cow alloced
    
    it COULD be null and we do have other checks for it being not-null and
    we dont check if the alloc fails...  so check. this SHOULD fix
    CID 1377547
---
 src/lib/evas/canvas/evas_callbacks.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 33d1e76aca..a6f3ee419e 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -436,13 +436,15 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
 nothing_here:
    if (!obj->no_propagate)
      {
-        if ((obj->smart.parent || obj->events->parent) && (type != 
EVAS_CALLBACK_FREE) &&
-              (type <= EVAS_CALLBACK_KEY_UP))
+        if ((obj->smart.parent || ((obj->events) && obj->events->parent)) &&
+            (type != EVAS_CALLBACK_FREE) &&
+            (type <= EVAS_CALLBACK_KEY_UP))
           {
              Evas_Object_Protected_Data *parent_obj;
              Eo *parent;
 
-             parent = obj->events->parent ?: obj->smart.parent;
+             parent = ((obj->events) && obj->events->parent) ?
+               obj->events->parent: obj->smart.parent;
              parent_obj = efl_data_scope_get(parent, EFL_CANVAS_OBJECT_CLASS);
              evas_object_event_callback_call(parent, parent_obj, type, 
event_info, event_id, efl_event_desc);
           }

-- 


Reply via email to