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