RFR: 8352999: [macOS] Conditional behavior by directly querying the Objective-C call stack

Martin Fox mfox at openjdk.org
Mon Mar 31 18:34:32 UTC 2025


Before a window is maximized glass records its existing size and location. This rectangle is stored in native screen coordinates. Compared to Java screen coordinates native coordinates are flipped along the Y axis.

When the window is un-maximized that native rectangle is passed to a routine that normally takes Java screen coordinates. To determine whether the rectangle is flipped or not the code inspects the Objective-C stack to figure out which routine called it.

At the risk of re-writing working code this PR takes a more conventional approach to the problem.

I’ve also re-enabled the related system test. I had to increase the animation delay to get it to pass on the Mac. 400 milliseconds is enough but 500 gives us some headroom.

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

Commit messages:
 - Removed code that was building an NSRect verbatim from an existing NSRect
 - No longer querying Objective-C stack to determine window frame coordinate system

Changes: https://git.openjdk.org/jfx/pull/1749/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1749&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352999
  Stats: 23 lines in 2 files changed: 1 ins; 19 del; 3 mod
  Patch: https://git.openjdk.org/jfx/pull/1749.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1749/head:pull/1749

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


More information about the openjfx-dev mailing list