> 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. ------------- Changes: https://git.openjdk.org/jfx/pull/584/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=584&range=06 Stats: 130 lines in 3 files changed: 124 ins; 2 del; 4 mod Patch: https://git.openjdk.org/jfx/pull/584.diff Fetch: git fetch https://git.openjdk.org/jfx pull/584/head:pull/584 PR: https://git.openjdk.org/jfx/pull/584