jackdanielz pushed a commit to branch master.
commit d29dd0399c0c42d0fa8ba768753bba8a3149c92e
Author: Aharon Hillel <[email protected]>
Date: Mon Jul 1 18:37:17 2013 +0300
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.
---
src/lib/elm_gesture_layer.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/lib/elm_gesture_layer.c b/src/lib/elm_gesture_layer.c
index 585ccb0..0ae0f18 100644
--- a/src/lib/elm_gesture_layer.c
+++ b/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);
}
}
}
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev