From 13da4a3a80fe87acf57aba821e962bc619485c0f Mon Sep 17 00:00:00 2001 From: Aharon Hillel Date: Mon, 1 Jul 2013 18:37:17 +0300 Subject: [PATCH] Gesture Layer: fix crash during deletion. if target object is deleted before GLayer is deleted, we get a crash from _event_history_clear. Setting target to NULL on delete, then testing it before reporting state takes care of this problem. --- legacy/elementary/src/lib/elm_gesture_layer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/legacy/elementary/src/lib/elm_gesture_layer.c b/legacy/elementary/src/lib/elm_gesture_layer.c index 585ccb0ea7..0ae0f1888f 100644 --- a/legacy/elementary/src/lib/elm_gesture_layer.c +++ b/legacy/elementary/src/lib/elm_gesture_layer.c @@ -960,6 +960,8 @@ _target_del_cb(void *data, void *event_info __UNUSED__) { _callbacks_unregister(data); + ELM_GESTURE_LAYER_DATA_GET(data, sd); + sd->target = NULL; } /** @@ -1165,8 +1167,9 @@ _event_history_clear(Evas_Object *obj) } else { /* Report ABORT to all gestures that still not finished */ - _state_set(p, ELM_GESTURE_STATE_ABORT, sd->gesture[i]->info, - EINA_FALSE); + if (sd->target) + _state_set(p, ELM_GESTURE_STATE_ABORT, + sd->gesture[i]->info, EINA_FALSE); } } }