Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#13164 closed defect (fixed)

[Patch] Creating a conflict after editing a relation inside and outside the editor throws an exception

Reported by: Hb--- Owned by: team
Priority: normal Milestone: 16.07
Component: Core Version: latest
Keywords: template_report relation regression gsoc-core Cc: michael2402

Description

What steps will reproduce the problem?

  1. Download OSM data with a relation
  2. Select a relation and open the Edit relation dialog
  3. Switch back to the main window
  4. Split up a way which is part of the selected relation
  5. Delete the relation tag from one part of the way (Override warning message box)
  6. Switch back to the Edit relation dialog
  7. Editing something to make the relation dirty
  8. Click OK in the Edit relation dialog
  9. A warning dialog appears and asks if you want to create a conflict because the relation was edited inside and outside the relation editor.
  10. Click OK (conflict is created)

What is the expected result?

No error box

What happens instead?

The "Report a bug" error box appears.

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-07-13 02:41:16 +0200 (Wed, 13 Jul 2016)
Build-Date:2016-07-13 01:32:49
Revision:10529
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10529 en) Windows 7 64-Bit
Memory Usage: 1059 MB / 3604 MB (791 MB allocated, but free)
Java version: 1.8.0_91-b14, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Dataset consistency test: No problems found

Plugins:
- apache-commons (32584)
- ejml (32639)
- geotools (32584)
- jts (32539)
- measurement (32454)
- opendata (32584)
- utilsplugin2 (32584)

Tagging presets:
- https://josm.openstreetmap.de/josmfile?page=Presets/Leaftype&zip=1

Last errors/warnings:
- W: Unable to delete file <josm.cache>\tiles\TMS.key
- W: Unable to delete file <josm.cache>\tiles\TMS.data
- W: Unable to delete file <josm.cache>\tiles\TMS_BLOCK.key
- W: Unable to delete file <josm.cache>\tiles\TMS_BLOCK.data
- W: Unable to delete file <josm.cache>\tiles\TMS_INDEX.key
- W: Unable to delete file <josm.cache>\tiles\TMS_INDEX.data
- W: Unable to delete file <josm.cache>\tiles\TMS_INDEX_v2.key
- W: Unable to delete file <josm.cache>\tiles\TMS_INDEX_v2.data
- W: Conflict in data - <html>This relation has been changed outside of the editor.<br>You cannot apply your changes and continue editing.<br><br>Do you want to create a conflict and close the editor?</html>
- E: java.lang.IllegalArgumentException: Attempted to remove listener that was not in list: org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel@96ca4ca

java.lang.IllegalArgumentException: Attempted to remove listener that was not in list: org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel@96ca4ca
	at org.openstreetmap.josm.gui.layer.MainLayerManager.removeActiveLayerChangeListener(MainLayerManager.java:195)
	at org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel.unregister(SelectionTableModel.java:54)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.setVisible(GenericRelationEditor.java:756)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.SavingAction.hideEditor(SavingAction.java:191)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.OKAction.actionPerformed(OKAction.java:46)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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)

Attachments (1)

patch-fix-13164.patch (667 bytes) - added by michael2402 4 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 4 years ago by Hb---

Summary: Creating a conflict after editing relation members while relation editor was open led to exceptionCreating a conflict after editing a relation inside and outside the editor throws an exception

comment:2 Changed 4 years ago by Don-vip

Cc: michael2402 added
Keywords: regression gsoc-core added
Milestone: 16.07

comment:3 Changed 4 years ago by Klumbumbus

Independent from the exception, there is a new button in the relation window to completely avoid these conflicts. See Help/Dialog/RelationEditor for the conflict free workflow.

comment:4 Changed 4 years ago by michael2402

We should ignore multiple setVisible(false) calls.

Changed 4 years ago by michael2402

Attachment: patch-fix-13164.patch added

comment:5 Changed 4 years ago by michael2402

Summary: Creating a conflict after editing a relation inside and outside the editor throws an exception[Patch] Creating a conflict after editing a relation inside and outside the editor throws an exception

comment:6 Changed 4 years ago by michael2402

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

comment:7 Changed 4 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 10646/josm:

fix #13164 - Creating a conflict after editing a relation inside and outside the editor throws an exception (patch by michael2402) - gsoc-core

comment:8 Changed 4 years ago by Don-vip

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

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.