From 0b810218746f4f1cf6dbdfb57fdd209ebf682f0c Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 2 Sep 2015 19:34:06 +0900 Subject: [PATCH] elm map - fix crash on badly handled zoom timeout callback if sd->obj is null then the a zoom timeout has a null data param and that means we cant get sd data... so dont set up a zoom timeout unless sd->obj is valid. @fix --- src/lib/elm_map.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_map.c b/src/lib/elm_map.c index 8a31018..1017270 100644 --- a/src/lib/elm_map.c +++ b/src/lib/elm_map.c @@ -1122,12 +1122,17 @@ _zoom_do(Elm_Map_Data *sd, (x, y, vw, vh)); } - if (sd->zoom_timer) ecore_timer_del(sd->zoom_timer); + if (sd->zoom_timer) + { + ecore_timer_del(sd->zoom_timer); + sd->zoom_timer = NULL; + } else eo_do(sd->obj, eo_event_callback_call (EVAS_ZOOMABLE_INTERFACE_EVENT_ZOOM_START, NULL)); - sd->zoom_timer = ecore_timer_add(0.25, _zoom_timeout_cb, sd->obj); + if (sd->obj) + sd->zoom_timer = ecore_timer_add(0.25, _zoom_timeout_cb, sd->obj); eo_do(sd->obj, eo_event_callback_call (ELM_MAP_EVENT_ZOOM_CHANGE, NULL)); -- 2.7.4