On Thu, 20 Aug 2026 18:27:40 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).
>
> eduardsdv has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8389970: Disable mnemonic processing on mac

Also, probably in a follow-up, we might want to check whether the `MenuItem` 
class needs similar fixes applied (especially related to mnemonic registration).

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

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

Reply via email to