Ticket #17591: 17591.patch

File 17591.patch, 1.7 KB (added by GerdP, 4 years ago)
  • src/org/openstreetmap/josm/actions/AutoScaleAction.java

     
    399399                System.currentTimeMillis() - lastZoomTime > Config.getPref().getLong("zoom.bounds.reset.time", TimeUnit.SECONDS.toMillis(10))) {
    400400            lastZoomTime = -1;
    401401        }
     402        Bounds bbox = null;
    402403        final DataSet dataset = getLayerManager().getActiveDataSet();
    403404        if (dataset != null) {
    404405            List<DataSource> dataSources = new ArrayList<>(dataset.getDataSources());
     
    407408                if (lastZoomTime == -1 || lastZoomArea == -1 || lastZoomArea > s) {
    408409                    lastZoomArea = s-1;
    409410                    v.visit(dataSources.get(lastZoomArea).bounds);
     411                    bbox = dataSources.get(lastZoomArea).bounds;
    410412                } else if (lastZoomArea > 0) {
    411413                    lastZoomArea -= 1;
    412414                    v.visit(dataSources.get(lastZoomArea).bounds);
     415                    bbox = dataSources.get(lastZoomArea).bounds;
    413416                } else {
    414417                    lastZoomArea = -1;
    415418                    Area sourceArea = getLayerManager().getActiveDataSet().getDataSourceArea();
     
    423426                lastZoomArea = -1;
    424427            }
    425428        }
    426         MainApplication.getMap().mapView.zoomTo(v);
     429        if (bbox != null)
     430            MainApplication.getMap().mapView.zoomTo(bbox);
     431        else
     432            MainApplication.getMap().mapView.zoomTo(v);
    427433    }
    428434
    429435    @Override