﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
12912	JOSM does not exit cleanly if unsaved layers are ignored for upload	pmberry2007	michael2402	"==== What steps will reproduce the problem?
1. Exit the program with unsaved layers
2. Deselect each layer's upload tickbox
3. Continue to exit

==== What is the expected result?
Program exits cleanly

==== What happens instead?
Unexpected error (program still running)

==== 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: 2016-05-30 02:06:54 +0200 (Mon, 30 May 2016)
Build-Date:2016-05-30 01:32:45
Revision:10301
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10301 en_GB) Windows 7 64-Bit
Memory Usage: 387 MB / 910 MB (188 MB allocated, but free)
Java version: 1.8.0_45-b14, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM

Plugins:
- alignways (32161)
- buildings_tools (32158)
- reverter (32158)
- turnrestrictions (32158)
- undelete (32158)

Last errors/warnings:
- E: java.lang.IllegalArgumentException: Listener was not registered before: org.openstreetmap.josm.gui.dialogs.LayerListDialog$LayerListModel@249ff2ab

java.lang.IllegalArgumentException: Listener was not registered before: org.openstreetmap.josm.gui.dialogs.LayerListDialog$LayerListModel@249ff2ab
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayerChangeListener(LayerManager.java:315)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayerChangeListener(LayerManager.java:303)
	at org.openstreetmap.josm.gui.dialogs.LayerListDialog.hideNotify(LayerListDialog.java:340)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog.destroy(ToggleDialog.java:441)
	at org.openstreetmap.josm.gui.dialogs.LayerListDialog.destroy(LayerListDialog.java:399)
	at org.openstreetmap.josm.gui.dialogs.DialogsPanel.destroy(DialogsPanel.java:297)
	at org.openstreetmap.josm.gui.MapFrame.destroy(MapFrame.java:332)
	at org.openstreetmap.josm.Main.setMapFrame(Main.java:520)
	at org.openstreetmap.josm.Main.removeLayer(Main.java:545)
	at org.openstreetmap.josm.Main.exitJosm(Main.java:1123)
	at org.openstreetmap.josm.gui.MainApplication$1.windowClosing(MainApplication.java:116)
	at java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
	at java.awt.Window.processWindowEvent(Unknown Source)
	at javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.awt.Window.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(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$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.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$1.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)
}}}
"	defect	closed	normal		Core		duplicate	template_report	
