From 7e6799db4412bba2e0da0f1f6016197306f0fcf5 Mon Sep 17 00:00:00 2001 From: Jaehyun Cho Date: Wed, 14 May 2014 12:27:27 +0900 Subject: [PATCH] elm_map: Fix to show and bring in a correct region after zooming Summary: Show and bring in a region which has the given latitude and longitude after zooming @fix Reviewers: Hermet CC: seoz Differential Revision: https://phab.enlightenment.org/D851 --- legacy/elementary/src/lib/elm_map.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/legacy/elementary/src/lib/elm_map.c b/legacy/elementary/src/lib/elm_map.c index 5b32b55467..b352b52336 100644 --- a/legacy/elementary/src/lib/elm_map.c +++ b/legacy/elementary/src/lib/elm_map.c @@ -1012,21 +1012,24 @@ _track_place(Elm_Map_Data *sd) static void _calc_job(Elm_Map_Data *sd) { - if (sd->calc_job.region_show_bring_in) - { - sd->calc_job.region_show_bring_in - (sd, sd->calc_job.lon, sd->calc_job.lat, sd->calc_job.bring_in); - sd->calc_job.region_show_bring_in = NULL; - } if (sd->calc_job.zoom_mode_set) { sd->calc_job.zoom_mode_set(sd, sd->calc_job.zoom); sd->calc_job.zoom_mode_set = NULL; } - if (sd->calc_job.overlays_show) + if (!sd->zoom_animator) { - sd->calc_job.overlays_show(sd, sd->calc_job.overlays); - sd->calc_job.overlays_show = NULL; + if (sd->calc_job.region_show_bring_in) + { + sd->calc_job.region_show_bring_in + (sd, sd->calc_job.lon, sd->calc_job.lat, sd->calc_job.bring_in); + sd->calc_job.region_show_bring_in = NULL; + } + if (sd->calc_job.overlays_show) + { + sd->calc_job.overlays_show(sd, sd->calc_job.overlays); + sd->calc_job.overlays_show = NULL; + } } } @@ -1136,6 +1139,7 @@ _zoom_anim_cb(void *data) { sd->zoom_animator = NULL; evas_object_smart_changed(sd->pan_obj); + _calc_job(sd); return ECORE_CALLBACK_CANCEL; }