﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
13896	IAE: Listener improveway.ImproveWayAccuracyAction was already registered	skyper	kolesar	"I have several problems but it seems to me that the extantion of the class does not work properly

==== What steps will reproduce the problem?
1. try to activate mode for the first time

==== What is the expected result?
working mode

==== What happens instead?
IllegalArgumentException

==== Please provide any additional information below. Attach a screenshot if possible.
The first three times JOSM did completely crash after downloading osm data. I have twice the same mode button (one for function from core and another one for the plugin function) 

{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-10-31 22:14:13 +0100 (Mon, 31 Oct 2016)
Build-Date:2016-11-01 02:34:59
Revision:11205
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11205 en) Linux Debian GNU/Linux 8.6 (jessie)
Memory Usage: 433 MB / 882 MB (115 MB allocated, but free)
Java version: 1.8.0_102-8u102-b14.1-1~bpo8+1-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: openjdk-8-jre:amd64-8u102-b14.1-1~bpo8+1
Java ATK Wrapper package: libatk-wrapper-java:all-0.30.4-3
Program arguments: [--language=en, --debug]
Dataset consistency test: No problems found

Plugins:
+ ImproveWay (9)
+ Mapillary (v1.3.1)
+ apache-commons (32699)
+ apache-http (32699)
+ imagery_offset_db (32796)
+ reverter (32796)
+ undelete (32699)
+ utilsplugin2 (32815)
+ wikipedia (33017)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ http://osmtools.de/josm/steps.xml

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Landcover&zip=1

Last errors/warnings:
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.mapillary.gui.MapillaryChangesetDialog$SubmitAction@196508c2
- E: Handled by bug report queue: org.openstreetmap.josm.tools.bugreport.ReportedException: java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction@20ebd9ac (instance of org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction) was already registered.. Cause: java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction@20ebd9ac (instance of org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction) was already registered.


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.IllegalArgumentException: Listener org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction@20ebd9ac (instance of org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction) was already registered.
	at org.openstreetmap.josm.tools.ListenerList.failAdd(ListenerList.java:108)
	at org.openstreetmap.josm.tools.ListenerList$TracingListenerList.failAdd(ListenerList.java:199)
	at org.openstreetmap.josm.tools.ListenerList.ensureNotInList(ListenerList.java:102)
	at org.openstreetmap.josm.tools.ListenerList.addListener(ListenerList.java:95)
	at org.openstreetmap.josm.tools.ListenerList$TracingListenerList.addListener(ListenerList.java:176)
	at org.openstreetmap.josm.data.Preferences.addPreferenceChangeListener(Preferences.java:232)
	at org.openstreetmap.josm.actions.mapmode.MapMode.enterMode(MapMode.java:67)
	at org.openstreetmap.josm.plugins.improveway.ImproveWayAccuracyAction.enterMode(ImproveWayAccuracyAction.java:172)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:453)
	at org.openstreetmap.josm.gui.MapFrame.selectMapMode(MapFrame.java:432)
	at org.openstreetmap.josm.actions.mapmode.MapMode.actionPerformed(MapMode.java:99)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	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:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	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	critical		Plugin ImproveWay		fixed	template_report gsoc-core regression	majkaz
