To Reproduce:
- Add ColorPicker.dylib to your .nuke folder
- Run Nuke/NukeX
- Run "Update" on the NodeGraph. (Tab->Update)
- Add a "ColorPicker" Node.
- On the panel, check the option "ganged sliders"
- Click the color wheel drop down button.
- Using the dropdown, change the red value.
> Notice that the green and blue channels also change on both the spinboxes and the sliders. This is the correct intended behaviour.
- Click the color wheel drop down button to close the panel.
- Ctrl/Cmd + click the color wheel drop down button to open the popup color picker panel.
- Using the popup color picker panel, change the red value.
Result:
> The green and blue spinboxes on the NodePanel change, but the sliders/spinboxes on the popup do not. These conflicting values then cause unpredictable behaviour for the next change.
Notes:
This happens because there is a recursion guard on the ColourPicker which gets set when the colour is changed (see ColorPicker::_inSetClientColor). This stops a change to the values on the picker from causing a further change to the values on the picker, e.g. a red value change from causing a green value change, in this case via knob_changed.
The color values on the popup panel should change to match the values on the panel.