﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
18560	IllegalStateException: deleting the conflation layer	skyper	Tyndare	"==== What steps will reproduce the problem?
1. Have two data layers
1. Open Configure conflation settings window
1. Select objects from both layers, one for subjects the other one for references and freeze both
1. Generate matches
1. Open Configure conflation settings window
1. unfreeze
1. delete conflation layer
1. select objects from both layers, one for subjects the other one for references and freeze both
1. delete conflation layer

==== What is the expected result?
Layer is deleted without exception.

==== What happens instead?
IllegalStateException

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-01-14 21:55:56 +0100 (Tue, 14 Jan 2020)
Revision:15711
Build-Date:2020-01-15 02:30:59
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (15711 en) Linux Debian GNU/Linux 10 (buster)
Java version: 11.0.5+10-post-Debian-1deb10u1, Debian, OpenJDK 64-Bit Server VM
Java package: openjdk-11-jre:amd64-11.0.5+10-1~deb10u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-22
libcommons-compress-java: libcommons-compress-java:all-1.18-2
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20181227-1
Program arguments: [GPS/GFTS_FR/R/output/stops_platforms.csv]
Dataset consistency test: No problems found

Plugins:
+ ImportImagePlugin (35248)
+ Mapillary (1.5.20)
+ apache-commons (35092)
+ apache-http (35092)
+ conflation (0.6.4)
+ ejml (35122)
+ geotools (35169)
+ imagery_offset_db (35248)
+ jaxb (35092)
+ jna (35092)
+ jts (35122)
+ log4j (35092)
+ opendata (35248)
+ reverter (35248)
+ undelete (35248)
+ utilsplugin2 (35248)
+ wikipedia (1.1.3)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: No valid coordinates have been found.
- E: Handled by bug report queue: java.lang.IllegalStateException: The layer has already been destroyed: ConflationLayer [name=Conflation, associatedFile=null]


=== REPORTED CRASH DATA ===
LayerManager#fireLayerRemoving:
 - listener: org.openstreetmap.josm.gui.MapView[,0,0,816x620,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
 - event: LayerRemoveEvent [removedLayer=ConflationLayer [name=Conflation, associatedFile=null], lastLayer=false]
 - layer: ConflationLayer [name=Conflation, associatedFile=null]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (17) of main
java.lang.IllegalStateException: The layer has already been destroyed: ConflationLayer [name=Conflation, associatedFile=null]
	at org.openstreetmap.josm.gui.layer.Layer.destroy(Layer.java:285)
	at org.openstreetmap.josm.gui.MapView.layerRemoving(MapView.java:401)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerRemoving(LayerManager.java:475)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveSingleLayer(LayerManager.java:277)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:307)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveLayer(LayerManager.java:265)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$removeLayer$1(LayerManager.java:247)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:239)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:247)
	at org.openstreetmap.josm.gui.dialogs.layer.DeleteLayerAction.actionPerformed(DeleteLayerAction.java:52)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6397)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	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 conflation		duplicate	template_report layer delete	
