RFR: 8313424: JavaFX controls in the title bar (Preview) [v84]
Markus Mack
mmack at openjdk.org
Thu Jun 12 21:21:50 UTC 2025
On Thu, 12 Jun 2025 19:39:30 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> Implementation of [`StageStyle.EXTENDED`](https://gist.github.com/mstr2/0befc541ee7297b6db2865cc5e4dbd09).
>
> Michael Strauß has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 108 commits:
>
> - Fix full-screen bug
> - Merge branch 'master' into feature/extended-window
> - only dispose ViewSceneOverlay when non-null
> - Rename default window button style classes
> - Set the scene root as the parent of the overlay node
> - rename WindowManager to DesktopEnvironment
> - enable preview feature system properties for tests
> - javadoc fix
> - fix memory leak in ViewScene
> - Merge branch 'master' into feature/extended-window
> - ... and 98 more: https://git.openjdk.org/jfx/compare/72c1c21a...3fdc465f
I left some comments, will re-approve if you decide to change anything. Testing looks good.
modules/javafx.graphics/src/main/java/javafx/scene/Parent.java line 1932:
> 1930: // When we have a scene overlay (like the full-screen notification message or default window buttons
> 1931: // of an extended stage), the scene root is the parent of the overlay node. However, the overlay node
> 1932: // is not contained in the scene root's children list, because it is not a publicly accessibly part of
minor: accessibly -> accessible
modules/javafx.graphics/src/main/java/javafx/scene/Parent.java line 1935:
> 1933: // the scene graph. When this method is called on the root node, we need to check whether the supposed
> 1934: // child is actually contained in the children list.
> 1935: if (!childSet.contains(node)) {
My tests confirm that the issue occurs when `setChildDirty` is called on the overlay node. This method may also be called from `childIncluded`and `childExcluded` which seems to be triggered when a node's visibility changes. If this doesn't happen the fix looks fine. Alternative may be to move the check inside `setChildDirty`.
-------------
Marked as reviewed by mmack (Author).
PR Review: https://git.openjdk.org/jfx/pull/1605#pullrequestreview-2922633419
PR Review Comment: https://git.openjdk.org/jfx/pull/1605#discussion_r2143644730
PR Review Comment: https://git.openjdk.org/jfx/pull/1605#discussion_r2143657673
More information about the openjfx-dev
mailing list