﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
18357	"""New layer for untagged images"" crashes if there are no tagged images"	StephaneP	holgermappt	"==== What steps will reproduce the problem?
1. Import an image without geotagging metadata
2. right click on the geottaged images layer
3. Select ""New layer for untagged images""

==== What is the expected result?
A new layer with only images without geo metadata
==== What happens instead?
Crash
==== Please provide any additional information below. Attach a screenshot if possible.

Same behaviour on Windows and Ubuntu


{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-11-24 21:23:35 +0100 (Sun, 24 Nov 2019)
Build-Date:2019-11-25 02:31:03
Revision:15541
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15541 en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 1903 (18362)
Memory Usage: 1901 MB / 7223 MB (883 MB allocated, but free)
Java version: 1.8.0_191-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080, \Display1 2560x1440
Maximum Screen Size: 2560x1440

Plugins:
+ DirectUpload (35221)
+ Mapillary (1.5.20)
+ OpeningHoursEditor (34977)
+ PicLayer (35104)
+ PolygonCutOut (v0.7)
+ apache-commons (35092)
+ apache-http (34908)
+ cadastre-fr (35194)
+ changeset-viewer (22)
+ continuosDownload (82)
+ contourmerge (v0.1.5)
+ ejml (35122)
+ geotools (35169)
+ graphview (34977)
+ imagery-xml-bounds (35100)
+ indoorhelper (35228)
+ javafx-windows
+ jaxb (35014)
+ jna (34908)
+ jts (35122)
+ measurement (35221)
+ opendata (35179)
+ photo_geotagging (34908)
+ photoadjust (35108)
+ poly (34991)
+ reverter (35226)
+ tag2link (35149)
+ tageditor (34977)
+ todo (30306)
+ turnlanes-tagging (281)
+ turnrestrictions (34977)
+ undelete (34977)
+ utilsplugin2 (35230)

Tagging presets:
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/FR.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/RecyclingMaterials&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/MaxspeedIcons&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- http://kolesar.turistautak.hu/osm/opencellid/api/styles/measurements.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features_ryg&zip=1
+ <josm.pref>\styles\sit.mapcss

Last errors/warnings:
- W: Update plugins - org.openstreetmap.josm.plugins.PluginHandler$UpdatePluginsMessagePanel[,0,0,0x0,invalid,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
- W: Plugin javafx-windows requires Java version 10. The current Java version is 8. You have to update Java in order to use this plugin.
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Error reading EXIF from file: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
- E: java.lang.ClassNotFoundException: controller.IndoorHelperController
- E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
- E: Handled by bug report queue: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.ReferencePipeline.collect(Unknown Source)
	at org.openstreetmap.josm.data.ImageData.getSelectedImages(ImageData.java:131)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.imageDataUpdated(ImageViewerDialog.java:626)
	at org.openstreetmap.josm.data.ImageData.lambda$notifyImageUpdate$4(ImageData.java:323)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:150)
	at org.openstreetmap.josm.data.ImageData.notifyImageUpdate(ImageData.java:323)
	at org.openstreetmap.josm.data.ImageData.removeImage(ImageData.java:296)
	at org.openstreetmap.josm.plugins.photoadjust.UntaggedGeoImageLayerAction.actionPerformed(UntaggedGeoImageLayerAction.java:56)
	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.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.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)
}}}
"	defect	closed	normal		Plugin photoadjust		fixed	template_report	
