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); }