Ignore:
Timestamp:
2017-04-19T00:11:05+02:00 (7 years ago)
Author:
bastiK
Message:

see #7427 - make sure layer is painted only once after zoom change

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java

    r11950 r11953  
    722722    @Override
    723723    public void zoomChanged() {
     724        zoomChanged(true);
     725    }
     726
     727    private void zoomChanged(boolean invalidate) {
    724728        if (Main.isDebugEnabled()) {
    725729            Main.debug("zoomChanged(): " + currentZoomLevel);
     
    728732            ((TMSCachedTileLoader) tileLoader).cancelOutstandingTasks();
    729733        }
    730         invalidate();
     734        if (invalidate) {
     735            invalidate();
     736        }
    731737    }
    732738
     
    783789     */
    784790    public boolean setZoomLevel(int zoom) {
     791        return setZoomLevel(zoom, true);
     792    }
     793
     794    private boolean setZoomLevel(int zoom, boolean invalidate) {
    785795        if (zoom == currentZoomLevel) return true;
    786796        if (zoom > this.getMaxZoomLvl()) return false;
    787797        if (zoom < this.getMinZoomLvl()) return false;
    788798        currentZoomLevel = zoom;
    789         zoomChanged();
     799        zoomChanged(invalidate);
    790800        return true;
    791801    }
     
    14281438            }
    14291439
    1430             setZoomLevel(zoom);
     1440            setZoomLevel(zoom, false);
    14311441
    14321442            // If all tiles at displayZoomLevel is loaded, load all tiles at next zoom level
     
    14461456            ts = dts.getTileSet(zoom);
    14471457        } else if (getDisplaySettings().isAutoZoom()) {
    1448             setZoomLevel(zoom);
     1458            setZoomLevel(zoom, false);
    14491459        }
    14501460
Note: See TracChangeset for help on using the changeset viewer.