From 5bfa138bcc974fe37b17d4dd60934998fdaf475c Mon Sep 17 00:00:00 2001 From: Sung-Taek Hong Date: Mon, 19 Oct 2015 11:42:35 -0700 Subject: [PATCH] elm_map: block longpressed event when scrolled, zoomed, or rotated Summary: Currently, longpressed event can be called when map is scrolled, zoomed or rotated. This might cause unintentional result, because mouse need to be down at lease once to execute scroll, zoom, or rotate, and longpressed event will start when those events takes long enough time. Reviewers: seoz, Hermet, woohyun, cedric Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D3195 Signed-off-by: Cedric BAIL --- legacy/elementary/src/lib/elm_map.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/legacy/elementary/src/lib/elm_map.c b/legacy/elementary/src/lib/elm_map.c index 064652a986..b2092bd596 100644 --- a/legacy/elementary/src/lib/elm_map.c +++ b/legacy/elementary/src/lib/elm_map.c @@ -1289,6 +1289,7 @@ _scroll_cb(Evas_Object *obj, else eo_do(sd->obj, eo_event_callback_call (EVAS_SCROLLABLE_INTERFACE_EVENT_SCROLL_DRAG_START, NULL)); + ELM_SAFE_FREE(sd->long_timer, ecore_timer_del); sd->scr_timer = ecore_timer_add(0.25, _scr_timeout_cb, obj); eo_do(sd->obj, eo_event_callback_call (EVAS_SCROLLABLE_INTERFACE_EVENT_SCROLL, NULL)); @@ -3295,6 +3296,7 @@ _pinch_zoom_start_cb(void *data, EINA_SAFETY_ON_NULL_RETURN_VAL(data, EVAS_EVENT_FLAG_NONE); sd->pinch_zoom = sd->zoom_detail; + ELM_SAFE_FREE(sd->long_timer, ecore_timer_del); return EVAS_EVENT_FLAG_NONE; } @@ -3338,6 +3340,7 @@ _pinch_rotate_cb(void *data, evas_object_smart_changed(sd->pan_obj); } + ELM_SAFE_FREE(sd->long_timer, ecore_timer_del); return EVAS_EVENT_FLAG_NONE; }