﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
17726	IAE: Listener photoadjust.PhotoPropertyEditor$PropertyEditorAction was not registered before or already removed	tryl	tryl	"==== What steps will reproduce the problem?
1. Load geotagged photos
2. Move them
3. Write new positions using the geotag plugin
4. Select the photo layer
5. Press the delete button on the keyboard.

==== What is the expected result?

Photo layer is deleted without error. It only got deleted.

==== What happens instead?

I got an error. But it got deleted.

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-04-28 04:36:41 +0200 (Sun, 28 Apr 2019)
Build-Date:2019-04-28 02:37:58
Revision:15031
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15031 en) Linux Ubuntu 18.04.2 LTS
Memory Usage: 1650 MB / 1762 MB (728 MB allocated, but free)
Java version: 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-20ubuntu0.1

Plugins:
+ BuildingGeneralization (23)
+ apache-commons (34908)
+ buildings_tools (34982)
+ photo_geotagging (34908)
+ photoadjust (34977)
+ terracer (34977)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: Region [WMS_BLOCK_v2] Resetting cache
- W: Region [geoimage-thumbnails_BLOCK_v2] Resetting cache
- W: Invalid jar file ''<josm.userdata>/plugins/photoadjust.jar.new'' (exists: false, canRead: false)
- E: Handled by bug report queue: java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction@5c33ddc8 (instance of org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction) was not registered before or already removed.


=== REPORTED CRASH DATA ===
LayerManager#fireLayerRemoving:
 - listener: org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction@5c33ddc8
 - event: LayerRemoveEvent [removedLayer=GeoImageLayer [name=Geotagged Images, associatedFile=null], lastLayer=true]
 - layer: GeoImageLayer [name=Geotagged Images, associatedFile=null]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (17) of main
java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction@5c33ddc8 (instance of org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction) was not registered before or already removed.
	at org.openstreetmap.josm.tools.ListenerList.failRemove(ListenerList.java:132)
	at org.openstreetmap.josm.tools.ListenerList.removeListener(ListenerList.java:126)
	at org.openstreetmap.josm.data.ImageData.removeImageDataUpdateListener(ImageData.java:263)
	at org.openstreetmap.josm.plugins.photoadjust.PhotoPropertyEditor$PropertyEditorAction.layerRemoving(PhotoPropertyEditor.java:145)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerRemoving(LayerManager.java:476)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveSingleLayer(LayerManager.java:278)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:307)
	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:238)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:248)
	at org.openstreetmap.josm.gui.dialogs.layer.DeleteLayerAction.actionPerformed(DeleteLayerAction.java:52)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1668)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2943)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
	at java.awt.Component.processEvent(Component.java:6316)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
	at java.awt.Component.dispatchEventImpl(Component.java:4760)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
}}}
"	defect	closed	normal		Plugin photoadjust		needinfo	template_report	
