[jdk20] RFR: 8301989: new javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE

Alexander Zuev kizune at openjdk.org
Tue Feb 7 23:18:50 UTC 2023


On Tue, 7 Feb 2023 23:07:55 GMT, Phil Race <prr at openjdk.org> wrote:

>> Check if the component is associated with the caret before calling methods from it. Added test case that will make sure that will not happen again.
>
> src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java line 1054:
> 
>> 1052:         if (rate != 0) {
>> 1053:             if (component != null && component.isEditable()) {
>> 1054:                 if (flasher == null) {
> 
> So later if there is a non-editable component, what happens ?
> Some existing logic for that will kick in ?

Yes, when the the caret is to be assigned to a component it will reset the blink rate and the logic will kick in. Manually tested with the possible scenarios like adding custom set blink rate cursor to a non-editable component and then turn it into editable later, add to editable and switch to non-editable later and so on.

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

PR: https://git.openjdk.org/jdk20/pull/122



More information about the client-libs-dev mailing list