﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22238	Area selection plugin throws exception when closing JOSM/removing LayerChangeAdapter objects	stefanct	team	"==== What steps will reproduce the problem?
I haven't tried yet, but I have a session file and .osm for the data if needed.
It was a lengthy session, the .osm is 3.5MB and I have purged quite a bit of data before saving (which might actually have created the condition leading to the exception?).

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-07-07 23:02:39 +0200 (Thu, 07 Jul 2022)
Revision:18513
Build-Date:2022-07-08 01:30:57
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18513 en) Linux Debian GNU/Linux 10 (buster)
Memory Usage: 3928 MB / 3928 MB (2007 MB allocated, but free)
Java version: 11.0.15+10-post-Debian-1deb10u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1600×900 (scaling 1.00×1.00) :0.1 2560×1440 (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: MATE
Java package: openjdk-11-jre:amd64-11.0.15+10-1~deb10u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-22+deb10u1
libcommons-compress-java: libcommons-compress-java:all-1.18-2+deb10u1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20181227-1
liboauth-signpost-java: liboauth-signpost-java:all-1.2.1.2-2
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true]

Plugins:
+ ImproveWay (32)
+ OpeningHoursEditor (35924)
+ PicLayer (1.0.2)
+ alignways (35951)
+ apache-commons (36003)
+ areaselector (405)
+ austriaaddresshelper (1597341117)
+ centernode (v1.0.4)
+ contourmerge (v0.1.9)
+ ejml (35924)
+ geotools (36008)
+ graphview (35976)
+ jackson (36006)
+ jaxb (35952)
+ jts (36004)
+ log4j (36007)
+ opendata (35984)
+ pt_assistant (1ff2e15)
+ reltoolbox (35976)
+ reverter (35999)
+ turnrestrictions (36009)
+ utilsplugin2 (36001)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/MountainbikeTrails&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Fahrradverleih&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BicycleJunction&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Radwege&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/SentieriItaliani&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MastAndTower&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Mountains&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Mountainbike&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/OpenStationMap&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Power_Mapping_Utility_Simple&zip=1
+ https://osmtools.de/josm/steps.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1

Last errors/warnings:
- 101229.673 W: Unsaved changes - <html>The relation has been changed.<br><br>Do you want to save your changes?</html>
- 136246.928 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 136247.382 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 136248.636 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 136249.149 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 136261.320 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 136261.683 E: Failed to locate image 'https://www.naturvardsverket.se/assets/static/media/apple-touch-icon.8ec47f26.png'
- 139429.606 W: Unable to request focus for org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField[,0,0,427x16,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@44399eae,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]
- 141534.474 W: Conflict in data - <html>This relation has been changed outside of the editor.<br>You cannot apply your changes and continue editing.<br><br>Do you want to create a conflict and close the editor?</html>
- 151694.431 E: Handled by bug report queue: java.lang.IllegalArgumentException: Listener was not registered before: LayerChangeAdapter [org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction@75ed7512]



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
java.lang.IllegalArgumentException: Listener was not registered before: LayerChangeAdapter [org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction@75ed7512]
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayerChangeListener(LayerManager.java:434)
	at org.openstreetmap.josm.actions.JosmAction.destroy(JosmAction.java:277)
	at org.openstreetmap.josm.gui.IconToggleButton.destroy(IconToggleButton.java:73)
	at org.openstreetmap.josm.gui.MapFrame.destroy(MapFrame.java:359)
	at org.openstreetmap.josm.gui.MainPanel.updateContent(MainPanel.java:59)
	at org.openstreetmap.josm.gui.MainPanel$1.afterLastLayerRemoved(MainPanel.java:162)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:334)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveLayer(LayerManager.java:266)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$removeLayer$1(LayerManager.java:248)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:246)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:248)
	at org.openstreetmap.josm.gui.layer.LayerManager.realResetState(LayerManager.java:515)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realResetState(MainLayerManager.java:516)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:246)
	at org.openstreetmap.josm.gui.layer.LayerManager.resetState(LayerManager.java:506)
	at org.openstreetmap.josm.gui.MainTermination.run(MainTermination.java:43)
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.exitJosm(Lifecycle.java:121)
	at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:521)
	at org.openstreetmap.josm.gui.MainFrame$ExitWindowAdapter.windowClosing(MainFrame.java:199)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
	at java.desktop/java.awt.Window.processWindowEvent(Window.java:2078)
	at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
	at java.desktop/java.awt.Window.processEvent(Window.java:2037)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	defect	closed	normal		Plugin areaselector		duplicate		
