Modify

Opened 5 months ago

Last modified 4 months ago

#23649 new defect

removePreferenceChangeListener was not registered before or already removed.

Reported by: anonymous Owned by: kolesar
Priority: normal Milestone:
Component: Plugin ImproveWay Version: tested
Keywords: Upload, Plug-in Cc:

Description

What steps will reproduce the problem?

  1. Edit map data.
  2. Select a way and enter improve way mode (press w).
  3. (Remaining in improve way mode) upload the new data/changes to the OSM server.
  4. Once the data is uploaded try to enter a mode different to improve way mode e.g. select (s).

What is the expected result?

Data is uploaded to OSM server. Then you are ready to continue mapping in improve way mode.

What happens instead?

The data is uploaded to the OSM server, but once this is complete JOSM no longer looks and reacts as though it is in improve way mode, and (at least without dissabling the plugin) it doesn't appear to be possible to continue mapping without exiting and restarting JOSM. Trying to enter a different mode throws a "Update plug-ins" pop-up window. Restarting JOSM clears any layers ect. previously employed to they have to be re-opened/re-done.

Please provide any additional information below. Attach a screenshot if possible.

Improve Way Version: 32
JOSM Version: 19039

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (33) of main
java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction@20f1ff3 (instance of org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction) was not registered before or already removed.
	at org.openstreetmap.josm.tools.ListenerList.failRemove(ListenerList.java:137)
	at org.openstreetmap.josm.tools.ListenerList.removeListener(ListenerList.java:131)
	at org.openstreetmap.josm.data.Preferences.removePreferenceChangeListener(Preferences.java:261)
	at org.openstreetmap.josm.actions.mapmode.MapMode.exitMode(MapMode.java:99)
	at org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction.exitMode(ImproveWayAccuracyAction.java:241)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:496)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:473)
	at org.openstreetmap.josm.actions.mapmode.MapMode.actionPerformed(MapMode.java:128)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyBinding(Unknown Source)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(Unknown Source)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyBindings(Unknown Source)
	at java.desktop/javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.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.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(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)

Attachments (0)

Change History (2)

comment:1 by GerdP, 5 months ago

Milestone: 24.05
Summary: Improve Ways Malfunctions After Data UploadremovePreferenceChangeListener was not registered before or already removed.

The plugin is not maintained by the JOSM team, I've created an issue on github:
https://github.com/JOSM/improve-way/issues/7

comment:2 by GerdP, 4 months ago

Ticket #23691 has been marked as a duplicate of this ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain kolesar.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from kolesar to the specified user.
Next status will be 'needinfo'. The owner will be changed from kolesar to anonymous.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from kolesar to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.