From 751f6493cd52b595ca67a45ef53623de61c49a16 Mon Sep 17 00:00:00 2001 From: bancika Date: Sat, 9 Jan 2021 10:05:10 +0100 Subject: [PATCH] Auto-Wrap Label crashes the application if it's shrunken into zero-lengt --- diylc/diylc-core/src/org/diylc/presenter/update.xml | 4 ++++ diylc/diylc-library/src/org/diylc/awt/StringUtils.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 5aa1e9eb..71a784bb 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3489,6 +3489,10 @@ IMPROVEMENT Improved code robustness + + + BUG_FIX + Auto-Wrap Label crashes the application if it's shrunken into zero-length https://github.com/bancika/diy-layout-creator/releases diff --git a/diylc/diylc-library/src/org/diylc/awt/StringUtils.java b/diylc/diylc-library/src/org/diylc/awt/StringUtils.java index bc44924b..befb6440 100644 --- a/diylc/diylc-library/src/org/diylc/awt/StringUtils.java +++ b/diylc/diylc-library/src/org/diylc/awt/StringUtils.java @@ -112,6 +112,12 @@ public class StringUtils { } if (pos == -1) pos = guess; // Split in the middle of the word + + // if we couldn't find a match, expand maxWidth + if (pos <= 0) { + maxWidth++; + continue; + } list.add(line.substring(0, pos).trim()); line = line.substring(pos).trim();