On Thu, 13 Mar 2025 15:45:17 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:
>> My thought on this bug was to fix it in the scenegraph, rather than forcing >> a complete repaint in the toolkit. The scenegraph tracks the state of what >> is dirty and would only need to repaint if something has changed (and >> probably only those parts that have changed). >> >> @arapte Can you take a look at this and see what you think? I am not able to >> look at it for at least a week. > >> My thought on this bug was to fix it in the scenegraph, rather than forcing >> a complete repaint in the toolkit. The scenegraph tracks the state of what >> is dirty and would only need to repaint if something has changed (and >> probably only those parts that have changed). >> >> @arapte Can you take a look at this and see what you think? I am not able to >> look at it for at least a week. > > Yeah, I'm sort of mimicking what happens when a RESCALE or MOVE occurs, so it > is similar to what some of the other handlers do (MOVE does > `updateSceneState`, and RESCALE does that and `entireSceneNeedsRepaint`). > I'm not that well versed in the differences between these two, but it seemed > not a bad place to fix this as restores happen very rarely. > @hjohn this did not fix the issue for me on macOS 15.3.1 M1 (the reproducer > still shows "Initial State" label) @andy-goryachev-oracle Hm, I can't test it on Mac, but this solution works on Windows. I just tested again with your reproducer, and it fails without this change and works with it. Maybe someone with a Mac can take a closer look? For mac, perhaps also do `entireSceneNeedsRepaint` and see if that fixes it? ------------- PR Comment: https://git.openjdk.org/jfx/pull/1733#issuecomment-2722847063