everything: delete mouse event handlers on selector_free

Summary:
Since mouse up handler is invoked after selector_free, there was a crash.

reproduce: double click on selector area (tabbar area on top) to launch app -> SEGV

Fixes T1264

Test Plan: enlightenment -> everything -> double click on selector area (tabbar on top)

Reviewers: raster, zmike

CC: seoz, cedric

Maniphest Tasks: T1264

Differential Revision: https://phab.enlightenment.org/D886
This commit is contained in:
wonguk.jeong 2014-05-26 15:11:13 +09:00 committed by Carsten Haitzler (Rasterman)
parent 9969641fed
commit 0034b2d6ee
1 changed files with 11 additions and 0 deletions

View File

@ -1120,6 +1120,17 @@ static void
_evry_selector_free(Evry_Selector *sel)
{
Evry_Window *win = sel->win;
Evas_Object *o;
if ((o = edje_object_part_swallow_get(win->o_main, sel->edje_part)))
{
evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_DOWN,
_evry_selector_cb_down, sel);
evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_UP,
_evry_selector_cb_up, sel);
evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_WHEEL,
_evry_selector_cb_wheel, sel);
}
_evry_selector_item_clear(sel);