Skip to content

Conversation

@johnhaddon
Copy link
Member

This fixes various problems with propagating the right display transform to LightEditors. In the process it also fixes #4197, since the solution in both cases was to parent detached panels to the main ScriptWindow. There's some fiddly code in CompoundEditor, and although I've done my best to test it all in practice, it might be good to give it a long hard stare and a firm prod before merging.

This has several benefits :

- The detached panel doesn't show up separately in task bars.
- The detached panel doesn't disappear behind the main window.
- The detached panel is minimised with the main window.
- The detached panel correctly inherits the OCIO transform from the main window.

Fixes GafferHQ#4197.
These were only kept up to date if the ScriptWindow existed when the detached panel was made, which is not the case when loading a layout.
We weren't propagating changes at all if someone had connected to `parentChangedSignal()`, because we were returning before getting the chance.
We now also propagate changes when Editors are parented, as this is necessary to sync the transform into the PathListingWidget used by the LightEditor.

It would be better if we weren't limiting the widgets that we're willing to propagate changes for, but I re-ran my benchmarks and doing it for everything adds ~30% overhead to the construction of a NodeEditor for `standard_surface`. Since this is slower than we'd like already, now is not the time to make it any slower.
@johnhaddon johnhaddon self-assigned this Jan 7, 2026
@github-project-automation github-project-automation bot moved this to Pending Review in Work in Progress Jan 7, 2026
@johnhaddon johnhaddon changed the base branch from main to 1.6_maintenance January 7, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pending Review

Development

Successfully merging this pull request may close these issues.

Window options for floating panes: floating panes should be a part of the main Gaffer window.

1 participant