﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
12811	crash while trying to add way to relation	kennykb	team	"I was trying to add a way to an existing relation. The relation was huge, so I downloaded the relation and all members (using Download Object), and then the local area of the way. In the 'Edit relation' dialog, I got a crash while trying to set up to add ways to the relation.

Stack trace was:

ERROR: java.lang.NullPointerException
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.makeLoopIfNeeded(WayConnectionTypeCalculator.java:116)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinks(WayConnectionTypeCalculator.java:100)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.getWayConnection(MemberTableModel.java:777)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.getConnectionType(MemberTable.java:203)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.hasGap(MemberTable.java:210)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.updateEnabledState(MemberTable.java:231)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.valueChanged(MemberTable.java:239)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
	at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
	at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
	at javax.swing.DefaultListSelectionModel.addSelectionInterval(DefaultListSelectionModel.java:518)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.addMembersAtIndex(MemberTableModel.java:456)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.addMembersAtEnd(MemberTableModel.java:492)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.AddSelectedAtEndAction.actionPerformed(AddSelectedAtEndAction.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:6535)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6300)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4891)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	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:2750)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	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 org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:697)
	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)
INFO: GET https://josm.openstreetmap.de/wiki/TestedVersion?format=txt -> 200
INFO: Registered toolbar action bug overwritten: org.openstreetmap.josm.actions.ReportBugAction gets org.openstreetmap.josm.actions.ReportBugAction
INFO: Opening URL: https://josm.openstreetmap.de/newticket
Xlib:  extension ""XInputExtension"" missing on display "":0.0"".
INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> 200 (532 B)

"	defect	new	normal		Core	tested		relation NullPointerException	
