On Mon, 18 May 2020 05:52:21 GMT, Ajit Ghaisas <aghai...@openjdk.org> wrote:

>> Issue :
>> https://bugs.openjdk.java.net/browse/JDK-8244418
>> 
>> Root Cause :
>> Incorrect assumption about menu list size.
>> 
>> Fix :
>> Added check for empty menu list before trying to access it.
>> 
>> Test :
>> Added a unit test that fails before fix and passes after it.
>
> Ajit Ghaisas has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   review fixes and test addition

The fix looks good aside from the one added method used for testing.

The test looks good as well. I confirm that it fails without your fix and 
passes with your fix.

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).

modules/javafx.controls/src/main/java/javafx/scene/control/skin/MenuBarSkin.java
 line 476:

> 475:         focusedMenuIndex = (index >= -1 && index < 
> getSkinnable().getMenus().size())? index : -1;
> 476:         focusedMenu = (focusedMenuIndex != -1)? 
> getSkinnable().getMenus().get(index) : null;
> 477:

Minor: we usually put a space before the `?` (I probably wouldn't have 
mentioned it, but there is a substantive change
you need to make anyway).

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

PR: https://git.openjdk.java.net/jfx/pull/216

Reply via email to