[Rev 02] RFR: 8244418: MenuBar: IOOB exception on requestFocus on empty bar
Kevin Rushforth
kcr at openjdk.java.net
Sat Jun 13 15:05:16 UTC 2020
On Sat, 13 Jun 2020 09:06:01 GMT, Jeanette Winzenburg <fastegal at openjdk.org> wrote:
>> modules/javafx.controls/src/main/java/javafx/scene/control/skin/MenuBarSkin.java line 764:
>>
>>> 763: void setFocusedIndex(int index) {
>>> 764: this.setFocusedMenuIndex(0);
>>> 765: }
>>
>> Shouldn't this be `this.setFocusedMenuIndex(index)`? The only reason this isn't causing problems is that the test you
>> added never calls it with anything other than 0.
>> Also, the naming of this method is a bit confusing. I might recommend calling it `test_setFocusedMenuIndex`, or else
>> just change the private `setFocusedMenuIndex` method to be package-scope. Either way adding a comment indicating that
>> it is used for testing purposes seems a good idea (if you keep this method then the comment could say that it is only
>> for testing purposes; if you make `setFocusedMenuIndex` package-scope then you could say that it is package scope
>> because it is used for testing).
>
> darn .. overlooked that fixed index ..
>
> As to the naming: personally, I hate violation of naming conventions even for test-only methods, so would tend to make
> setFocusedMenuIndex package and doc as being used for testing as well as internally.
> We might consider aligning the corresponding methods in the shim (they are also slightly confusing in
> get/set/FocusedIndex).
Good suggestion.
-------------
PR: https://git.openjdk.java.net/jfx/pull/216
More information about the openjfx-dev
mailing list