﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
21658	NPE in org.openstreetmap.josm.gui.tagging.presets.items.PresetListEntry.getCount	noen	team	"==== What steps will reproduce the problem?
1. Create a custom preset with a chunk block with two list entries and two combo boxes that reuses the same chunk.
2. Try to open said preset.

==== What happens instead?
Preset won't open at all.

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Build-Date:2021-11-01 22:53:13
Revision:18303

Identification: JOSM/1.5 (18303 en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 2009 (19043)
Memory Usage: 502 MB / 3630 MB (245 MB allocated, but free)
Java version: 1.8.0_311-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 2560×1440 (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_NO
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djosm.home=JOSM-test]
Dataset consistency test: No problems found

Plugins:
+ PicLayer (1.0.1)
+ utilsplugin2 (35856)

Tagging presets:
+ .\own_preset.xml

Last errors/warnings:
- 00753.437 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-0 (19) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.tagging.presets.items.PresetListEntry.getCount(PresetListEntry.java:191)
	at org.openstreetmap.josm.gui.tagging.presets.items.PresetListEntry.getListDisplay(PresetListEntry.java:85)
	at org.openstreetmap.josm.gui.tagging.presets.items.ComboMultiSelect$ComboMultiSelectListCellRenderer.getListCellRendererComponent(ComboMultiSelect.java:139)
	at org.openstreetmap.josm.gui.tagging.presets.items.ComboMultiSelect$ComboMultiSelectListCellRenderer.getListCellRendererComponent(ComboMultiSelect.java:104)
	at javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(Unknown Source)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
	at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
	at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
	at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
	at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
	at javax.swing.JList.setSelectedIndex(Unknown Source)
	at javax.swing.plaf.basic.BasicComboPopup.setListSelection(Unknown Source)
	at javax.swing.plaf.basic.BasicComboPopup.access$300(Unknown Source)
	at javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(Unknown Source)
	at javax.swing.JComboBox.fireItemStateChanged(Unknown Source)
	at javax.swing.JComboBox.selectedItemChanged(Unknown Source)
	at javax.swing.JComboBox.contentsChanged(Unknown Source)
	at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source)
	at org.openstreetmap.josm.gui.widgets.JosmComboBoxModel.setSelectedItem(JosmComboBoxModel.java:149)
	at javax.swing.JComboBox.setSelectedItem(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.items.Combo.addToPanel(Combo.java:159)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.createPanel(TaggingPreset.java:435)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showDialog(TaggingPreset.java:596)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showAndApply(TaggingPreset.java:508)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.actionPerformed(TaggingPreset.java:498)
	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)
}}}

own_preset.xml
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<presets xmlns=""http://josm.openstreetmap.de/tagging-preset-1.0"">
  <chunk id=""test_chunk"">
    <list_entry value=""one""/>
    <list_entry value=""two""/>
  </chunk>
  <group name=""Test"">
    <item name=""Preset"" type=""way"">
      <combo key=""box 1"">
        <reference ref=""test_chunk""/>
      </combo>
      <combo key=""box 2"">
        <reference ref=""test_chunk""/>
      </combo>
    </item>
  </group>
</presets>
}}}
"	defect	closed	normal		Core	tested	duplicate	template_report	
