From 171894e3f2fe6b0b2a462d28fe34ffe5385c9ae8 Mon Sep 17 00:00:00 2001 From: fgnm Date: Sat, 29 Aug 2020 16:48:05 +0200 Subject: [PATCH] Fix VisTextField crash when text has newlines (#337) #336 --- ui/src/main/java/com/kotcrab/vis/ui/widget/VisTextField.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/src/main/java/com/kotcrab/vis/ui/widget/VisTextField.java b/ui/src/main/java/com/kotcrab/vis/ui/widget/VisTextField.java index 9510142b5..9f819a3cd 100644 --- a/ui/src/main/java/com/kotcrab/vis/ui/widget/VisTextField.java +++ b/ui/src/main/java/com/kotcrab/vis/ui/widget/VisTextField.java @@ -437,7 +437,7 @@ void updateDisplayText () { } else displayText = newDisplayText; - layout.setText(font, displayText); + layout.setText(font, displayText.toString().replace('\r', ' ').replace('\n', ' ')); glyphPositions.clear(); float x = 0; if (layout.runs.size > 0) { @@ -457,6 +457,9 @@ void updateDisplayText () { } glyphPositions.add(x); + visibleTextStart = Math.min(visibleTextStart, glyphPositions.size); + visibleTextEnd = MathUtils.clamp(visibleTextEnd, visibleTextStart, glyphPositions.size); + if (selectionStart > newDisplayText.length()) selectionStart = textLength; }