On Fri, 26 Sep 2025 11:23:03 GMT, Daniel Gredler <[email protected]> wrote:
> Until [JDK-4138921](https://bugs.openjdk.org/browse/JDK-4138921), > `TextLayout` did not accept empty strings in the constructor. This limitation > has been removed. However, there is a guard condition in > `OutlineTextRenderer` which checks for an empty string before trying to use > `TextLayout` which explicitly calls out this limitation in a code comment. We > should remove the out-of-date comment but leave the check in as an > optimization (see discussion in PR #26947). > You can use str.isEmpty() here. I was actually going for consistency with all of the other optimizations of this type, which all use a length check. I can change it to `isEmpty` if you feel strongly about it, though. > Do we actually call this method with an empty string? I do think it's possible, e.g. from `SunGraphics2D.drawString(String, int, int)` and `SunGraphics2D.drawString(String, float, float)` when the font doesn't have layout attributes, or a few other places when `OutlineTextRenderer.drawChars(...)` delegates to `OutlineTextRenderer.drawString(...)`. ------------- PR Comment: https://git.openjdk.org/jdk/pull/27523#issuecomment-3339470355
