[josm-dev] [PATCH] regression in JOSM's tile drawing

Dave Hansen dave at sr71.net
Sun Aug 21 06:54:23 BST 2011


OK, got one more.  Upliner, I know you have commit access at the moment,
so I'd appreciate if you could pull these in to the tree.  I'd be happy
to submit a more format set with some better descriptions if you'd like,
too.

I'm seeing the map flicker and black-out during zoom-out operations.  It
only seems to happen when I _start_ zoomed in to an area.  I believe
it's because there are no visible tiles in upper zoom levels and
displayZoomLevel gets set to 2.  Thus, no tiles get drawn since it's so
far away from my actual zoom level and it takes a moment for repaint to
get called.  Something along these lines fixes it up for me:

Basically, don't bother moving displayZoomLevel unless we've
unquestionably _found_ some more visible tiles in another zoom level.

                 noTilesAtZoom = true;
             }
             // Find highest zoom level with at least one visible tile
-            while (displayZoomLevel > dts.minZoom &&
-                    !dts.getTileSetInfo(displayZoomLevel).hasVisibleTiles) {
-                displayZoomLevel--;
+            for (int tmpZoom = zoom; tmpZoom > dts.minZoom; tmpZoom--) {
+                if (dts.getTileSetInfo(tmpZoom).hasVisibleTiles) {
+                    displayZoomLevel = tmpZoom;
+                    break;
+                }
             }


-- Dave




More information about the josm-dev mailing list