﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22519	Selecting a geotagged image from a second layer causes an Exception	ariche44	team	"==== What steps will reproduce the problem?
1. Load two folders of geotagged images : this produces 2 image layers 
   Important note: one layer contains 360° images, the other flat images.
2. Select a picture on the map : it is displayed on the image viewer (so far so good)
3. Select a picture from the other image layer on the map

==== What is the expected result?
View the image in the viewer and be able to carry on.

==== What happens instead?
The image is displayed in a new tab of the image layer and the error dialog pops up. After closing the dialog, selecting an image makes the dialog pop up again. 
Selecting the option ""Remove this error for this session"" does not stop the error dialog to pop-up again.
Selecting the option ""Hide the next error windows for this session"" results in JOSM hanging.

==== Please provide any additional information below. Attach a screenshot if possible.
Note I have the option geoimage.one-layer-per-folder set to true.
Could this relate to https://josm.openstreetmap.de/ticket/21605 ?

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-11-22 14:37:25 +0100 (Tue, 22 Nov 2022)
Revision:18603
Build-Date:2022-11-23 02:30:57
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18603 fr) Linux Ubuntu 18.04.6 LTS
Memory Usage: 1124 MB / 4000 MB (611 MB allocated, but free)
Java version: 18-ea+17-1015, Oracle Corporation, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: fr_FR.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: ubuntu:GNOME
libcommons-compress-java: libcommons-compress-java:all-1.18-1~18.04
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20171026-2
VM arguments: [-Djosm.pref=<josm.pref>/]
Dataset consistency test: No problems found

Plugins:
+ Mapillary (2.0.1)
+ PicLayer (1.0.2)
+ apache-commons (36034)
+ apache-http (35924)
+ buildings_tools (36011)
+ changeset-viewer (v0.0.6)
+ ejml (35924)
+ geotools (36028)
+ jackson (36034)
+ jaxb (35952)
+ jna (36005)
+ jts (36004)
+ opendata (36025)
+ photo_geotagging (35933)
+ photoadjust (36011)
+ reverter (36011)
+ shrinkwrap (v1.0.4)
+ todo (30306)
+ undelete (36011)
+ utilsplugin2 (36011)

Tagging presets:
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ ${HOME}/Bureau/Gares21/tools/JOSM/Gares21-preset.xml

Map paint styles:
+ ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksPlus&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1
- ${HOME}/Bureau/Gares21/railway-station.mapcss
- ${HOME}/Carto'Cité/Projets/1-Cloud/EPA Marne/3D/zonage.mapcss

Validator rules:
+ ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.validator.mapcss

Last errors/warnings:
- 00008.550 E: Skipping to the next rule, because of an error:
- 00008.554 E: org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException: Encountered "" <IDENT> ""des """" at line 201, column 21.
- 00008.583 W: Initializing map style ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.mapcss terminé(e)s en 40 ms (1 errors, 0 warnings)
- 00008.599 W: Échec du chargement des styles de rendu de '${HOME}/Bureau/Gares21/railway-station.mapcss'. Lʼexception était : java.nio.file.NoSuchFileException: ${HOME}/Bureau/Gares21/railway-station.mapcss
- 00008.600 E: java.nio.file.NoSuchFileException: ${HOME}/Bureau/Gares21/railway-station.mapcss
- 00043.076 W: Unable to convert property fill-color to type class java.awt.Color: found  of type class java.lang.String!
- 00052.079 W: Unable to convert property fill-color to type class java.awt.Color: found  of type class java.lang.String!
- 00053.866 W: Unable to convert property fill-color to type class java.awt.Color: found  of type class java.lang.String!
- 00080.851 W: Unable to convert property fill-color to type class java.awt.Color: found  of type class java.lang.String!
- 00087.544 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.gui.util.imagery.CameraPlane.getRotation()"" because ""this.cameraPlane"" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (21) of main
java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.gui.util.imagery.CameraPlane.getRotation()"" because ""this.cameraPlane"" is null
	at org.openstreetmap.josm.gui.layer.geoimage.viewers.projections.Equirectangular.getRotation(Equirectangular.java:59)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageDisplay.getRotation(ImageDisplay.java:1001)
	at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.getRotation(ImageViewerDialog.java:887)
	at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.paint(GeoImageLayer.java:460)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:469)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:584)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:491)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:962)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1138)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5321)
	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5269)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5079)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:878)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	defect	closed	normal	22.12	Core image mapping	latest	fixed	template_report	
