RFR: 8269639: [macos] Calling stage.setY(0) twice causes wrong popups location [v2]

Jose Pereda jpereda at openjdk.java.net
Sun Jul 18 11:01:23 UTC 2021


> As described in the issue, when the stage is moved to the screen top position, it is moved below the system menu bar. However, doing it twice doesn't trigger a native callback to the Java layer, and the stage yPosition doesn't get updated with the actual position of the application. This has several side effects, like the wrong popup control position.
> 
> This PR adds a callback in case set position doesn’t match actual position. 
> 
> It is only going to be called when the final position of the stage doesn't match the one that was set, which could happen in rare occasions, mainly due to constrains applied by the native layer, so it doesn't add any overhead.
> 
> A system test for MacOS is included.

Jose Pereda has updated the pull request incrementally with one additional commit since the last revision:

  Address feedback from reviewer

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/580/files
  - new: https://git.openjdk.java.net/jfx/pull/580/files/fb07b048..bf35aac6

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=580&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=580&range=00-01

  Stats: 12 lines in 1 file changed: 2 ins; 6 del; 4 mod
  Patch: https://git.openjdk.java.net/jfx/pull/580.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/580/head:pull/580

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


More information about the openjfx-dev mailing list