forked from enlightenment/efl
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
This commit is contained in:
parent
6a65cb2f3c
commit
b3b0411a05
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue