RFR: 8252446: Screen.getScreens() is empty sometimes

Ambarish Rapte arapte at openjdk.java.net
Tue Sep 15 10:37:41 UTC 2020

On Thu, 3 Sep 2020 15:18:06 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

> As noted in the bug report, we get a pair of change events every time the list of screens changes. First, a change is
> sent with an empty list of screens and then a change is sent with the new list of screens. This happens whenever a
> monitor is plugged in or unplugged. It also happens on Mac at application startup.  As noted in the bug the reason for
> this is because the `updateConfiguration` method makes two separate calls on the list of screens, `clear` and `addAll`,
> rather than calling `setAll`. The latter ensures that only a single change event is delivered.  I verified that before
> this fix, the example program attached to the bug works correctly after the fix.
> I wrote a unit test. It ends up being skipped on Windows and Linux since we don't get an initial change event. On Mac
> the test fails without the fix and passes with the fix.

Looks good to me. As you mentioned in the comments, On my Mac the test does not fail without this change.


Marked as reviewed by arapte (Reviewer).

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

More information about the openjfx-dev mailing list