On Fri, 7 Aug 2026 16:50:41 GMT, eduardsdv <[email protected]> wrote:

> This PR fixes the StringIndexOutOfBoundsException, that occurs when an empty 
> text is set to a Labeled, that previously contained a mnemonic.
> 
> The reason for the error is that the ``updateDisplayedText(double, double)``, 
> which also updates ``containsMnemonic`` flag, was not invoked if the text was 
> empty. The value of this flag was still ``true`` but the index of the 
> mnemonic character inside ``MnemonicInfo`` had already been updated to -1. 
> This led to the StringIndexOutOfBoundsException in the line 611.
> 
> I fixed it by moving the call to ``updateDisplayedText(double, double)`` 
> outside the if-clause, so that it is always called when the text is being 
> laid out. This should not affect performance because the method already 
> checks whether recalculation is required. If not, it exits quickly.
> 
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

as I commented in the ticket, the mnemonic decorations are not visible on macOS 
so this issue does not occur there.  It still needs to be tested on linux.

@arapte could you be the second reviewer please?

-------------

PR Comment: https://git.openjdk.org/jfx/pull/2253#issuecomment-5220306575

Reply via email to