On Thu, 3 Sep 2020 15:18:06 GMT, Kevin Rushforth <[email protected]> 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. This pull request has now been integrated. Changeset: 13ab2cbd Author: Kevin Rushforth <[email protected]> URL: https://git.openjdk.java.net/jfx/commit/13ab2cbd Stats: 107 lines in 2 files changed: 2 ins; 103 del; 2 mod 8252446: Screen.getScreens() is empty sometimes Reviewed-by: arapte, pbansal ------------- PR: https://git.openjdk.java.net/jfx/pull/295
