> This is a continuation to 
> [JDK-8236651](https://bugs.openjdk.org/browse/JDK-8236651) and it aims to 
> stabilize the linux glass gtk backend.
> 
> It refactors the Glass GTK implementation with a primary focus on window 
> sizing, positioning, and state management, addressing a number of 
> long-standing issues.
> 
> Previously, three separate context classes existed, two of which were used 
> for Java Web Start and Applets. These have been unified, as they are no 
> longer required.
> 
> Additional tests have been introduced to improve coverage. Some tests 
> produced different results depending on the StageStyle, so they have been 
> converted to use `@ParameterizedTest` to exercise multiple styles.
> 
> Although the primary focus is XWayland, the changes have also been verified 
> to work correctly on Xorg.
> 
> This replaces #1789. It removes the use of GdkWindow in favor of GtkWindow, 
> reducing risk and simplifying the review process while preserving the same 
> set of bug fixes. Additionally, #2025 requires a `GtkWindow` to be used when 
> setting the parent of the file chooser dialog.
> 
> java -Djavafx.enablePreview=true -Djdk.gtk.verbose=true 
> -Dglass.gtk.logCategories=size,lifecycle  -Dprism.order=sw @build/run.args 
> tests/manual/stage/TestStage.java 
> 
> To show debug messages,  build with `-PCONF=DebugNative`  and run with 
> `-Djdk.gtk.verbose=true`. Log categories can be passed with 
> `-Dglass.gtk.logCategories=CATEGORY` 
> 
> `CATEGORY` can be one or more of:
> - all
> - size
> - position
> - focus
> - state
> - lifecycle
> - input
> - dialog
> 
> Multiple categories can be specified by separating them with commas (e.g. 
> size,focus,input).
> 
> A manual test is provided:
> `java @build/run.args tests/manual/stage/TestStage.java`
> 
> When a window property is set, it is reported immediately. However, once it 
> reaches the native Glass layer, it may be adjusted or rejected, causing the 
> property to be updated again. Introducing a delay helps ensure the final 
> state has been applied before it is verified.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Thiago Milczarek Sayao has updated the pull request with a new target base due 
to a merge or a rebase. The pull request now contains 39 commits:

 - Remove configurable delays
 - Fix test
 - Xorg fixes
 - Revert "Rewrite WrongStageFocusWithApplicationModalityTest because it fails 
intermittently"
   
   This reverts commit c6b9dd745e5d762adb89a3b596e53b0d8a790d7f.
 - Rewrite WrongStageFocusWithApplicationModalityTest because it fails 
intermittently
 - Use existing verbose flag for GTK
 - Fix window size update
 - StageOwnershipTest: Update Y_DELTA
 - Copyright year
 - Merge branch 'master' into 8354943_v2
 - ... and 29 more: https://git.openjdk.org/jfx/compare/b690b3c4...68d684f9

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

Changes: https://git.openjdk.org/jfx/pull/2139/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2139&range=16
  Stats: 5094 lines in 29 files changed: 3711 ins; 769 del; 614 mod
  Patch: https://git.openjdk.org/jfx/pull/2139.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2139/head:pull/2139

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

Reply via email to