Opened 6 years ago

Last modified 6 years ago

#17934 closed defect

IOOBE: Relation dialog: removing members refering to selection — at Version 7

Reported by: skyper Owned by: Don-vip
Priority: major Milestone: 19.08
Component: Core Version: latest
Keywords: template_report regression relation manager delete member Cc: leni

Description (last modified by skyper)

What steps will reproduce the problem?

  1. Have two relations with some members in common.
  2. select all members of one relation.
  3. Open other relation in relation manager.
  4. remove all members refering to selection with last button of selection tab.

What is the expected result?

Selected members are removed.

What happens instead?

IOOBE.
Selected members are removed but not updated in relation dialog

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

Regression still not fixed

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-07-15 22:22:57 +0200 (Mon, 15 Jul 2019)
Build-Date:2019-07-16 01:30:52
Revision:15251
Relative:URL: ^/trunk

Last errors/warnings:
- E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 26, Size: 26


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (16) of main
java.lang.IndexOutOfBoundsException: Index: 26, Size: 26
	at java.util.ArrayList.rangeCheck(ArrayList.java:657)
	at java.util.ArrayList.get(ArrayList.java:433)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.getSelectedMembers(MemberTableModel.java:520)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.hasIncompleteSelectedMembers(MemberTableModel.java:411)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.DownloadSelectedIncompleteMembersAction.updateEnabledState(DownloadSelectedIncompleteMembersAction.java:46)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.AbstractRelationEditorAction.tableChanged(AbstractRelationEditorAction.java:76)
	at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
	at javax.swing.table.AbstractTableModel.fireTableDataChanged(AbstractTableModel.java:198)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.removeMembersReferringTo(MemberTableModel.java:351)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.RemoveSelectedAction.actionPerformed(RemoveSelectedAction.java:42)
	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.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	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:2238)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2296)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4475)
	at java.awt.Container.dispatchEventImpl(Container.java:2282)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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:80)
	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)

Change History (7)

comment:1 by Don-vip, 6 years ago

Milestone: 19.08
Owner: changed from team to Don-vip
Status: newassigned

comment:2 by skyper, 6 years ago

Summary: IOOBE: Relation dialog: removing members refering to selectionIOOBE: Relation dialog: removing members reffering to selection

comment:3 by skyper, 6 years ago

It only happens if at least one member in the second relation is not removed.

comment:4 by skyper, 6 years ago

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

comment:5 by skyper, 6 years ago

Cc: leni added

comment:6 by skyper, 6 years ago

As workaround you need to select the member first in the member tab and than delete them with delete button.

comment:7 by skyper, 6 years ago

Description: modified (diff)
Summary: IOOBE: Relation dialog: removing members reffering to selectionIOOBE: Relation dialog: removing members refering to selection

See #17982 for similar problem with delete.

Note: See TracTickets for help on using tickets.