raster pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=7592d9507682c3521d5d90357b1944d584bdd24f

commit 7592d9507682c3521d5d90357b1944d584bdd24f
Author: Jaehyun Cho <[email protected]>
Date:   Wed May 14 12:27:27 2014 +0900

    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
---
 src/lib/elm_map.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/lib/elm_map.c b/src/lib/elm_map.c
index 5b32b55..b352b52 100644
--- a/src/lib/elm_map.c
+++ b/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;
      }

-- 


Reply via email to