RFR: 8252446: Screen.getScreens() is empty sometimes
kcr at openjdk.java.net
Thu Sep 3 15:23:21 UTC 2020
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
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.
- 8252446: Screen.getScreens() is empty sometimes
Stats: 107 lines in 2 files changed: 103 ins; 2 del; 2 mod
Fetch: git fetch https://git.openjdk.java.net/jfx pull/295/head:pull/295
More information about the openjfx-dev