The message from this sender included one or more files
which could not be scanned for virus detection; do not
open these files unless you are certain of the sender's intent.

----------------------------------------------------------------------
> Issue happened during setting a new Scene - updating a new View was done 
> while the Window reference it kept was null. This caused it to default 
> scaling values to 1.0f (or 100%) while processing a resize notification, 
> which for high DPI screens with scaling different than 100% caused UI issues.
> 
> Resolved by splitting `_setView()` native call into two parts - first one 
> sets the view, then back in JVM side we set a correct Window reference, then 
> we trigger the notification. It has to be triggered from native side, because 
> Windows backend of Glass sends back new width/height pulled from WinAPI 
> `::GetClientRect()` call.
> 
> In process of working on this issue I also found another scenario causing the 
> same problem - calling `Stage.setScene()` after `Stage.show()`. The patch 
> fixed that case as well.
> 
> Added a system test which is supposed to check for above issues. I didn't 
> limit it to run only on platforms with UI scaling enabled because it also 
> serves as a good sanity check in case there are some other changes to code 
> that might move/scale the UI unwantingly. I tested this patch both on macOS 
> Ventura and Windows 11, with `d9c091f` all tests pass while without `d9c091f` 
> on Windows tests `testShowAndSetScene` and `testSecondSetScene` fail as 
> expected.

Lukasz Kostyra has updated the pull request incrementally with one additional 
commit since the last revision:

  Move SetSceneScalingTest to robot test directory

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1054/files
  - new: https://git.openjdk.org/jfx/pull/1054/files/396d38e5..ad2ccb02

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1054&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1054&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/1054.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/1054/head:pull/1054

PR: https://git.openjdk.org/jfx/pull/1054

Reply via email to