﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
24051	Error while entering street name containing diacritics with Compose key	shoorick	team	"==== What steps will reproduce the problem?
1. Select few buildings
2. Hit F3, choose Address
3. Enter street name containing Ş or Ö with Compose key

==== What is the expected result?

Get letter with diacritic signs, for example Ş or Ö — these letters used in Turkish like Ç, Ü and ı.

==== What happens instead?

Sometimes I have seen diacritic sign over space instead of letter. And as a final I've got an error message.

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-12-02 20:14:56 +0100 (Mon, 02 Dec 2024)
Revision:19265
Build-Date:2024-12-03 02:30:34
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19265 en) Linux Ubuntu 24.04.1 LTS
Memory Usage: 536 MB / 8752 MB (140 MB allocated, but free)
Java version: 21.0.5+11-Ubuntu-1ubuntu124.04, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00) :0.1 1920x1080x[Multi depth]@[Unknown refresh rate] (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: ubuntu:GNOME
Java package: openjdk-21-jre:amd64-21.0.5+11-1ubuntu1~24.04
Java ATK Wrapper package: libatk-wrapper-java:all-0.40.0-3build2
fonts-noto: fonts-noto:all-20201225-2
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, -XX:MaxRAMPercentage=75.0, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED]
Dataset consistency test: No problems found

Plugins:
+ FastDraw (36344)
+ PicLayer (1.0.3)
+ apache-commons (36349)
+ apache-http (36349)
+ buildings_tools (36344)
+ ext_tools (36344)
+ imagery_offset_db (36344)
+ jna (36349)
+ josm_magic_wand (2.0.3)
+ reverter (36354)
+ russia-address-helper (0.9.3)
+ turnrestrictions (36344)
+ undelete (36349)
+ utilsplugin2 (36354)
+ wikipedia (418)

Tagging presets:
+ https://raw.githubusercontent.com/komachi/josm-ge-preset/main/ge.xml
+ https://raw.githubusercontent.com/ruosm-presets/literan-moscow/master/russian_shops.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/ColourTag&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PriorityRoad&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Potlatch2&zip=1

Last errors/warnings:
- 05768.177 E: Handled by bug report queue: java.lang.IllegalArgumentException: offsetLimit must be after current position
- 05768.184 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05768.188 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05769.143 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05769.251 E: Handled by bug report queue: java.lang.IllegalArgumentException: offsetLimit must be after current position
- 05769.267 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05785.703 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05786.611 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05788.427 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
- 05789.260 E: Handled by bug report queue: java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (33) of main
java.lang.IllegalArgumentException: Zero length iterator passed to TextLayout constructor.
	at java.desktop/java.awt.font.TextLayout.<init>(TextLayout.java:512)
	at java.desktop/sun.swing.SwingUtilities2.drawStringImpl(SwingUtilities2.java:1045)
	at java.desktop/sun.swing.SwingUtilities2.drawString(SwingUtilities2.java:985)
	at java.desktop/javax.swing.text.Utilities.paintComposedText(Utilities.java:1231)
	at java.desktop/javax.swing.text.GlyphView.paint(GlyphView.java:399)
	at java.desktop/javax.swing.text.BoxView.paintChild(BoxView.java:162)
	at java.desktop/javax.swing.text.BoxView.paint(BoxView.java:434)
	at java.desktop/javax.swing.text.BoxView.paintChild(BoxView.java:162)
	at java.desktop/javax.swing.text.BoxView.paint(BoxView.java:434)
	at java.desktop/javax.swing.text.ParagraphView.paint(ParagraphView.java:572)
	at java.desktop/javax.swing.plaf.basic.BasicTextFieldUI$I18nFieldView.paint(BasicTextFieldUI.java:324)
	at java.desktop/javax.swing.text.BoxView.paintChild(BoxView.java:162)
	at java.desktop/javax.swing.text.BoxView.paint(BoxView.java:434)
	at java.desktop/javax.swing.text.BoxView.paintChild(BoxView.java:162)
	at java.desktop/javax.swing.text.BoxView.paint(BoxView.java:434)
	at java.desktop/javax.swing.text.ParagraphView.paint(ParagraphView.java:572)
	at java.desktop/javax.swing.plaf.basic.BasicTextFieldUI$I18nFieldView.paint(BasicTextFieldUI.java:324)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1535)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:754)
	at java.desktop/javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:912)
	at java.desktop/javax.swing.plaf.synth.SynthTextFieldUI.paint(SynthTextFieldUI.java:202)
	at java.desktop/javax.swing.plaf.synth.SynthTextFieldUI.update(SynthTextFieldUI.java:186)
	at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:852)
	at org.openstreetmap.josm.gui.widgets.JosmTextField.paintComponent(JosmTextField.java:275)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5318)
	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:255)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5266)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5076)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	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.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
	at org.openstreetmap.josm.gui.bugreport.BugReportDialog.lambda$showFor$3(BugReportDialog.java:245)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	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.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:468)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:260)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset$PresetDialog.<init>(TaggingPreset.java:620)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showDialog(TaggingPreset.java:663)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showAndApply(TaggingPreset.java:543)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.actionPerformed(TaggingPreset.java:533)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetSearchDialog.buttonAction(TaggingPresetSearchDialog.java:57)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetSearchDialog.lambda$new$0(TaggingPresetSearchDialog.java:40)
	at org.openstreetmap.josm.gui.widgets.SearchTextResultListPanel$2.mouseClicked(SearchTextResultListPanel.java:82)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
	at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6624)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	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.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:468)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:260)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetSearchDialog.showDialog(TaggingPresetSearchDialog.java:46)
	at org.openstreetmap.josm.actions.TaggingPresetSearchAction.actionPerformed(TaggingPresetSearchAction.java:33)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2956)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:309)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:264)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3049)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3041)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2918)
	at java.desktop/java.awt.Component.processEvent(Component.java:6398)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1952)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1146)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4877)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	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	new	normal		Core			template_report	
