RFR: 8313424: JavaFX controls in the title bar (Preview) [v84]
Michael Strauß
mstrauss at openjdk.org
Thu Jun 12 21:53:35 UTC 2025
On Thu, 12 Jun 2025 21:05:38 GMT, Markus Mack <mmack at openjdk.org> wrote:
>> 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
>
> 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`.
I added the same check in `Parent.childVisibilityChanged(Node)`. These two methods seem to be the only methods that are called by children on their parents in this particular way, passing themselves as an argument.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1605#discussion_r2143718769
More information about the openjfx-dev
mailing list