﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
7955	Aligning detached segments make alignways crash	anonymous	tilusnet	"What steps will reproduce the problem?
 1. create two almost parallel segments
 2. select the first one as reference and the second on as target
 3. align

What is the expected result?

The second segment should be aligned to the first one.

What happens instead?

The segments are not aligned and the plugin gets an exception and JOSM complains about it.

Please provide any additional information below. Attach a screenshot if
possible.

{{{
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-07-23 01:31:06
Last Changed Author: Don-vip
Revision: 5356
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-07-22 22:36:44 +0200 (Sun, 22 Jul 2012)
Last Changed Rev: 5356

Identification: JOSM/1.5 (5356 en)
Memory Usage: 246 MB / 455 MB (33 MB allocated, but free)
Java version: 1.6.0_24, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: CommandLine (28412)
Plugin: Create_grid_of_ways (28412)
Plugin: ElevationProfile (28150)
Plugin: alignways (28412)
Plugin: buildings_tools (28412)
Plugin: contourmerge (1003)
Plugin: download_along (28412)
Plugin: junctionchecking (28412)
Plugin: measurement (28412)
Plugin: openstreetbugs (28412)
Plugin: osmarender (28412)
Plugin: plastic_laf (26605)
Plugin: print (28412)
Plugin: public_transport (28412)
Plugin: utilsplugin2 (28412)

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:571)
	at java.util.ArrayList.get(ArrayList.java:349)
	at com.tilusnet.josm.plugins.alignways.AlignWaysCmdKeepAngles.recalculateNodesAndValidate(AlignWaysCmdKeepAngles.java:68)
	at com.tilusnet.josm.plugins.alignways.AlignWaysCmdKeepAngles.<init>(AlignWaysCmdKeepAngles.java:49)
	at com.tilusnet.josm.plugins.alignways.AlignWaysAction.actionPerformed(AlignWaysAction.java:61)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1660)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:285)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:247)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2928)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2920)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
	at java.awt.Component.processEvent(Component.java:6045)
	at java.awt.Container.processEvent(Container.java:2045)
	at java.awt.Component.dispatchEventImpl(Component.java:4629)
	at java.awt.Container.dispatchEventImpl(Container.java:2103)
	at java.awt.Component.dispatchEvent(Component.java:4455)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1860)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:759)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1035)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:902)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:724)
	at java.awt.Component.dispatchEventImpl(Component.java:4499)
	at java.awt.Container.dispatchEventImpl(Container.java:2103)
	at java.awt.Window.dispatchEventImpl(Window.java:2517)
	at java.awt.Component.dispatchEvent(Component.java:4455)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
	at java.awt.EventQueue.access$000(EventQueue.java:96)
	at java.awt.EventQueue$1.run(EventQueue.java:608)
	at java.awt.EventQueue$1.run(EventQueue.java:606)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
	at java.awt.EventQueue$2.run(EventQueue.java:622)
	at java.awt.EventQueue$2.run(EventQueue.java:620)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:13
}}}
"	defect	closed	normal		Plugin alignways		duplicate	template_report	
