#15880 closed defect (fixed)
Projection EPSG:102630 (ESRI) not supported
Reported by: | Owned by: | team | |
---|---|---|---|
Priority: | normal | Milestone: | 18.02 |
Component: | Core imagery | Version: | |
Keywords: | template_report wmts esri projection | Cc: | bastiK, stoecker |
Description
What steps will reproduce the problem?
What is the expected result?
I expected to get a local aerial map
What happens instead?
crashed
Please provide any additional information below. Attach a screenshot if possible.
URL:http://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2018-01-28 23:08:56 +0100 (Sun, 28 Jan 2018) Build-Date:2018-01-28 22:25:44 Revision:13367 Relative:URL: ^/trunk Identification: JOSM/1.5 (13367 en) Windows 10 64-Bit OS Build number: Windows 10 Pro 1709 (16299) Memory Usage: 522 MB / 910 MB (185 MB allocated, but free) Java version: 1.8.0_161-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM Screen: \Display0 1920x1080, \Display1 1920x1080 Maximum Screen Size: 1920x1080 Plugins: + CADTools (1007) + FastDraw (33731) + ImportImagePlugin (33563) + alignways (33784) + auto_tools (1515284769) + buildings_tools (34040) + ejml (32680) + geotools (33958) + imagery_offset_db (33774) + jts (32699) + log4j (32699) + turnrestrictions (33780) + utilsplugin2 (33991) Last errors/warnings: - W: No configuration settings found. Using hardcoded default values for all pools. - W: No default layer selected, choosing first layer. - E: Handled by bug report queue: java.lang.NullPointerException === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (28) of main java.lang.NullPointerException at org.openstreetmap.josm.data.imagery.WMTSTileSource.getTileSize(WMTSTileSource.java:724) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.estimateTileCacheSize(AbstractTileSourceLayer.java:631) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initTileSource(AbstractTileSourceLayer.java:289) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:591) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:567) at org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:347) at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:458) at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:233) at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:269) at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:217) at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:234) at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:217) at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:206) at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:141) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.AbstractButton.doClick(Unknown Source) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(Unknown Source) at javax.swing.JMenuItem.fireMenuDragMouseReleased(Unknown Source) at javax.swing.JMenuItem.processMenuDragMouseEvent(Unknown Source) at javax.swing.JMenuItem.processMouseEvent(Unknown Source) at javax.swing.MenuSelectionManager.processMouseEvent(Unknown Source) at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(Unknown Source) at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source) at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source) at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) === RUNNING THREADS === Thread: TimerQueue (30) of system sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) java.util.concurrent.DelayQueue.take(Unknown Source) javax.swing.TimerQueue.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Reference Handler (2) of system java.lang.Object.wait(Native Method) java.lang.Object.wait(Unknown Source) java.lang.ref.Reference.tryHandlePending(Unknown Source) java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) Thread: Map Status Collector (225) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:433) java.lang.Thread.run(Unknown Source) Thread: Finalizer (3) of system java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Thread: Timer-1 (56) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source) Thread: pool-3-thread-8 (70) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: JCS-ElementEventQueue-Thread-7 (46) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: WeakCollectionCleaner (52) of main java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) org.geotools.util.WeakCollectionCleaner.run(WeakCollectionCleaner.java:77) Thread: D3D Screen Updater (32) of system java.lang.Object.wait(Native Method) sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: pool-3-thread-2 (64) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: pool-3-thread-4 (66) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: AWT-EventQueue-0 (28) of main Stacktrace see above. Thread: AWT-Shutdown (25) of system java.lang.Object.wait(Native Method) java.lang.Object.wait(Unknown Source) sun.awt.AWTAutoShutdown.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: pool-3-thread-7 (69) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: File Watcher (21) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source) java.util.concurrent.LinkedBlockingDeque.take(Unknown Source) sun.nio.fs.AbstractWatchService.take(Unknown Source) org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:107) org.openstreetmap.josm.io.FileWatcher$$Lambda$4/1512981843.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Signal Dispatcher (4) of system Thread: pool-3-thread-5 (67) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Timer-3 (224) of main java.lang.Object.wait(Native Method) java.lang.Object.wait(Unknown Source) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source) Thread: message-notifier-0 (59) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: pool-3-thread-6 (68) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Thread-1 (20) of main sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method) sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(Unknown Source) sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Weak reference cleaner (33) of main java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60) org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$105/555273695.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Attach Listener (5) of system Thread: pool-3-thread-1 (63) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Timer-0 (53) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source) Thread: Java2D Disposer (23) of system java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(Unknown Source) java.lang.ref.ReferenceQueue.remove(Unknown Source) sun.java2d.Disposer.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: AWT-Windows (26) of system sun.awt.windows.WToolkit.eventLoop(Native Method) sun.awt.windows.WToolkit.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Timer-2 (128) of main java.lang.Object.wait(Native Method) java.lang.Object.wait(Unknown Source) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source) Thread: main-worker-0 (62) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Keep-Alive-Timer (223) java.lang.Thread.sleep(Native Method) sun.net.www.http.KeepAliveCache.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: pool-3-thread-3 (65) of main sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(Unknown Source) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: DestroyJavaVM (60) of main Thread: GT authority factory disposer (47) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source)
Attachments (0)
Change History (33)
comment:1 by , 7 years ago
Component: | Core → Core imagery |
---|---|
Keywords: | wmts added |
Summary: | WMTS image crashes josm → NPE at WMTSTileSource.getTileSize |
comment:2 by , 7 years ago
Milestone: | → 18.02 |
---|
comment:3 by , 7 years ago
comment:5 by , 7 years ago
Cc: | added |
---|---|
Keywords: | esri projection added |
Summary: | NPE at WMTSTileSource.getTileSize → Projection EPSG:102630 (ESRI) not supported |
The bug comes from that only one projection is supported by the WMTS server, and it is an ESRI one we currently don't know:
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::102630</ows:SupportedCRS>
ESRI defines its own (big) set of projections, I already fixed a similar problem in opendata plugin (#10495) by including the whole ESRI database (more than 7000 projections) obtained from Github (Apache 2.0) in [o33356]. The file takes 262 kb (50 kb compressed).
What do you think we should do in JOSM core?
comment:6 by , 7 years ago
Ah no sorry we don't need this file. It is only needed to translated ESRI names into ESRI EPSG codes. Not needed at all for JOSM core. We would only need to add projection definitions.
comment:7 by , 7 years ago
comment:10 by , 7 years ago
Replying to Don-vip:
In 13395/josm:
Much likely I ruined your @since
codes by commiting [13394] 1 second before you :D
comment:12 by , 7 years ago
junit.framework.AssertionFailedError: no reference data for following projections: [EPSG:8065] at org.openstreetmap.josm.data.projection.ProjectionRefTest.testProjections(ProjectionRefTest.java:340) at org.openstreetmap.josm.testutils.JOSMTestRules$TimeoutThread.run(JOSMTestRules.java:595)
What did I miss? I updated the tests, so I don't understand why this projection has not been automatically added.
comment:13 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:15 by , 7 years ago
Yes, ASAP. :)
Btw., the new reference-data
looks suspicious, a lot of 0.0
in the last field.
comment:19 by , 7 years ago
There is still a problem with ESRI:53026 and ESRI:54026 (parameters not supported), but I haven't looked into it yet.
comment:22 by , 7 years ago
I installed ArcGIS trial to find the "official" definition of these two projections and it matches what we can find on the Internet:
53026,?Sphere_Stereographic?,?ESRI?,53026,?Stereographic?,?PROJCS["Sphere_Stereographic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6371000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]? 54026,?World_Stereographic?,?ESRI?,54026,?Stereographic?,?PROJCS["World_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]?
The latitude of origin is set to 0. Maybe we can just ignore these invalid projections. I have no idea if it should be -90 or +90 degrees.
follow-up: 24 comment:23 by , 7 years ago
The "stere" projection has also an equatorial variant: https://github.com/OSGeo/proj.4/blob/master/src/PJ_stere.c
I didn't bother to add an implementation as it wasn't used.
follow-up: 25 comment:24 by , 7 years ago
Replying to bastiK:
The "stere" projection has also an equatorial variant
OK. Would it be difficult to add this variant?
comment:25 by , 7 years ago
comment:29 by , 7 years ago
Still got an error:
java.lang.AssertionError: GCS Fischer Modified (EPSG:37004): Projecting latlon(-46.20818683579682,-17.954573988266105): expected: eastnorth(-1998694.0337839378,-5813774.303141782), but got: eastnorth(-17.954573988266105,-46.20818683579682)! GCS Fischer Modified (EPSG:37004): Inverse projecting eastnorth(-1998694.0337839378,-5813774.303141782): expected: latlon(-46.20818683579682,-17.954573988266105), but got: latlon(-5813774.303141782,25.96621606242843)! GCS South Asia Singapore (EPSG:37207): Projecting latlon(10.70464629400334,-57.9912194370372): expected: eastnorth(-6455553.01821197,1198629.4198701826), but got: eastnorth(-57.9912194370372,10.70464629400334)! GCS South Asia Singapore (EPSG:37207): Inverse projecting eastnorth(-6455553.01821197,1198629.4198701826): expected: latlon(10.704646294003346,-57.9912194370372), but got: latlon(1198629.4198701826,-33.01821197103709)! at org.openstreetmap.josm.data.projection.ProjectionRegressionTest.testNonRegression(ProjectionRegressionTest.java:209)
comment:30 by , 7 years ago
Consequence of the fix [13423], i.e. the regression data should be updated.
comment:32 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
In 13387/josm: