﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
23031	Using the escape button while having shapetools activated results in errors	anonymous	team	"==== What steps will reproduce the problem?
1. 
2. 
3. 

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:18746
Build-Date:2023-06-05 12:33:50

Identification: JOSM/1.5 (18746 en) Windows 11 64-Bit
OS Build number: Windows 10 Home 2009 (22621)
Memory Usage: 1598 MB / 4044 MB (896 MB allocated, but free)
Java version: 17.0.7+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.50×1.50)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→48×48, 32×32→48×48
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.18746, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe]
Dataset consistency test: No problems found

Plugins:
+ BuildingGeneralization (36)
+ FastDraw (36066)
+ HouseNumberTaggingTool (36083)
+ Mapillary (2.1.4)
+ PicLayer (1.0.2)
+ ShapeTools (1250)
+ SimplifyArea (36066)
+ apache-commons (36034)
+ apache-http (35924)
+ buildings_tools (36011)
+ ejml (35924)
+ geotools (36068)
+ jackson (36034)
+ jaxb (35952)
+ jna (36005)
+ jts (36004)
+ mapwithai (794)
+ opendata (36079)
+ reverter (36066)
+ terracer (36079)
+ utilsplugin2 (36079)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1

Last errors/warnings:
- 00695.558 E: java.nio.file.AccessDeniedException: <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1.tmp -> <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1
- 00697.757 E: java.nio.file.AccessDeniedException: <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1.tmp -> <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1
- 00699.140 E: java.nio.file.AccessDeniedException: <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1.tmp -> <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1
- 00701.353 E: java.nio.file.AccessDeniedException: <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1.tmp -> <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1
- 00701.522 E: java.nio.file.AccessDeniedException: <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1.tmp -> <josm.cache>\mirror_https___josm.openstreetmap.de_josmfile_page_Styles_MapWithAI_zip_1
- 00745.119 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
- 00752.213 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
- 00756.104 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
- 00756.399 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
- 00761.398 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (26) of main
java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
	at org.openstreetmap.josm.data.osm.Way.getNode(Way.java:102)
	at org.openstreetmap.josm.data.osm.Way.getNode(Way.java:31)
	at org.openstreetmap.josm.data.osm.IWaySegment.getSecondNode(IWaySegment.java:88)
	at org.openstreetmap.josm.plugins.shapetools.DrawableSegment.paint(DrawableSegment.java:55)
	at org.openstreetmap.josm.gui.MapView.drawTemporaryLayers(MapView.java:651)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:588)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:491)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JSplitPane.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JLayeredPane.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintChildren(Unknown Source)
	at java.desktop/javax.swing.JComponent.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedFPScales(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paint(Unknown Source)
	at java.desktop/javax.swing.JComponent._paintImmediately(Unknown Source)
	at java.desktop/javax.swing.JComponent.paintImmediately(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.desktop/java.awt.Dialog.show(Unknown Source)
	at java.desktop/java.awt.Component.show(Unknown Source)
	at java.desktop/java.awt.Component.setVisible(Unknown Source)
	at java.desktop/java.awt.Window.setVisible(Unknown Source)
	at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.saveUnsavedModifications(SaveLayersDialog.java:134)
	at org.openstreetmap.josm.gui.MainApplication.lambda$exitJosm$3(MainApplication.java:519)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitAndReturn(GuiHelper.java:269)
	at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:518)
	at org.openstreetmap.josm.gui.MainFrame$ExitWindowAdapter.windowClosing(MainFrame.java:199)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
	at java.desktop/java.awt.Window.processWindowEvent(Unknown Source)
	at java.desktop/javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.desktop/java.awt.Window.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	defect	new	normal		Core			template_report	
