On Thu, 26 Jan 2023 09:54:25 GMT, Florian Kirmaier <fkirma...@openjdk.org> wrote:
>> After thinking about this issue for some time, I've now got a solution. >> I know put the scene in the state it is, before is was shown, when the >> dirtyNodes are unset, the whole scene is basically considered dirty. >> This has the drawback of rerendering, whenever a window is "reshown", but it >> restores sanity about memory behaviour, which should be considered more >> important. > > Florian Kirmaier has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains eight commits: > > - JDK-8269907 > Added missing changes after merge > - Merge remote-tracking branch 'origjfx/master' into > JDK-8269907-dirty-and-removed > > # Conflicts: > # modules/javafx.graphics/src/main/java/com/sun/javafx/tk/Toolkit.java > # modules/javafx.graphics/src/main/java/javafx/scene/Scene.java > - Merge remote-tracking branch 'origin/master' > - JDK-8269907 > Removed the sync methods for the scene, because they don't work when peer > is null, and they are not necessary. > - JDK-8269907 > Fixed rare bug, causing bounds to be out of sync. > - JDK-8269907 > We now require the rendering lock when cleaning up dirty nodes. To do so, > we moved some code required for snapshot into a reusable method. > - JDK-8269907 > The bug is now fixed in a new way. Toolkit now supports registering > CleanupListeners, which can clean up the dirty nodes, avoiding memoryleaks. > - JDK-8269907 > Fixing dirty nodes and parent removed, when a window is no longer showing. > This typically happens with context menus. I've just merged with master again. It would be great if this could be reviewed at some time. ------------- PR: https://git.openjdk.org/jfx/pull/584