﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
14635	NPE in relation editor (WayConnectionTypeCalculator.makeLoopIfNeeded)	anonymous	team	"The following was reported when trying to open the relation editor in a large dataset. Afterwards, selecting objects while the relation editor is open is really messed up.

{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-04-10 23:49:54 +0200 (Mon, 10 Apr 2017)
Build-Date:2017-04-11 01:34:43
Revision:11885
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11885 en) Linux Debian GNU/Linux 8.7 (jessie)
Memory Usage: 868 MB / 1776 MB (144 MB allocated, but free)
Java version: 1.8.0_121-8u121-b13-4-b13, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1440x900
Maximum Screen Size: 1440x900
Java package: openjdk-8-jre:amd64-8u121-b13-4
Java ATK Wrapper package: libatk-wrapper-java:all-0.30.5-1
Dataset consistency test: No problems found

Plugins:
+ InfoMode (33004)
+ PicLayer (33148)
+ apache-commons (32994)
+ buildings_tools (33004)
+ measurement (33088)
+ osmarender (33004)
+ reverter (33088)
+ todo (30000)
+ turnlanes (33088)
+ undelete (32699)
+ utilsplugin2 (33212)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/MobilePhoneBaseStations&zip=1

Last errors/warnings:
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$SelectAction@67a5fd96
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$AddAction@20bb7c30
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$PassAction@122835dc
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$MarkAction@6328db9e
- E: Handled by bug report queue: java.lang.NullPointerException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (19) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.makeLoopIfNeeded(WayConnectionTypeCalculator.java:141)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinksFor(WayConnectionTypeCalculator.java:70)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinks(WayConnectionTypeCalculator.java:46)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.getWayConnection(MemberTableModel.java:808)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.getConnectionType(MemberTable.java:211)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.hasGap(MemberTable.java:218)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.updateEnabledState(MemberTable.java:242)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.valueChanged(MemberTable.java:247)
	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.addToSelectedMembers(MemberTableModel.java:656)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembersIdx(MemberTableModel.java:626)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembers(MemberTableModel.java:605)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.<init>(GenericRelationEditor.java:294)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.getEditor(RelationEditor.java:115)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.editMembership(PropertiesDialog.java:486)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.access$800(PropertiesDialog.java:128)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$EditAction.actionPerformed(PropertiesDialog.java:1104)
	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.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at org.GNOME.Accessibility.AtkWrapper$4.dispatchEvent(AtkWrapper.java:571)
	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	normal		Core	tested	duplicate		
