Widgets of TeleParameters linked to shader parameters in a Katana project seem to be broken on opening the project. The widgets may not display the correct values and can't be interacted with, for example clicking the parameter's state badge or clicking its label and dragging left and right to change the value doesn't work. When typing in a value and pressing enter, the change doesn't go through to the linked parameter.
Closing and reopening the Parameters tab fixes these issues.
On opening or closing Katana projects containing such TeleParameters, the following error is printed to the console:
Error in collapsed event handler __node_setEdited_callback(): RuntimeError: wrapped C/C++ object of type SuperToolFormWidget has been deleted Utils.EventModule 2019-02-20T16:36:39Traceback (most recent call last): File "bin\software_python\Utils\v5\EventModuleUI.py", line 158, in __invokeCollapsedDict File "bin\python\UI4\Tabs\ParametersTab\ParameterPanel.py", line 98, in __node_setEdited_callbackRuntimeError: wrapped C/C++ object of type SuperToolFormWidget has been deleted
Customer reported version
Katana 3.0v5
Customer reported platform
CentOS7
Steps to reproduce
Create a Material node.
Click Add Shader and select 'surface' under 'dl'.
Select 'blinn' in the dlSurfaceShader dropdown.
Append another node downstream of the Material node, for example an OpScript node, edit its parameters and select Edit User Parameters from the Cog menu in the Parameters tab.
Make sure the Edit flag is only set on the node that has the TeleParameters, not the Material node, and save the project.
Open a new scene via File > New. Note the error message in the messages tab:
Error in collapsed event handler __collapsedEventHandler(): RuntimeError: wrapped C/C++ object of type NodeGroupFormWidget has been deleted Utils.EventModule 2019-02-20T15:53:02Traceback (most recent call last): File "bin\software_python\Utils\v5\EventModuleUI.py", line 158, in __invokeCollapsedDict File "bin\python\UI4\FormMaster\EditorCache.py", line 84, in __collapsedEventHandler File "bin\python\UI4\FormMaster\EditorCache.py", line 184, in flushRuntimeError: wrapped C/C++ object of type NodeGroupFormWidget has been deleted
Reopen the project. Note that the same error message is printed again.
Try to interact with the TeleParameters on the OpScript node. The widgets are in an error state where its not possible to drag on the label to change the parameter value or interact with the state badge. Changing the value of the TeleParameter does not affect the value of the linked parameter on the Material node and vice versa.
If the Edit flag is set on the Material node when saving the project, the widgets work correctly when reopening the project, but the error messages persist.
Workaround
Close and reopen the Parameters tab to get back to the correct state for the widgets.
Reproduced by support
This bug has been reproduced in:
Katana3.1v2 - Windows 7 & Windows 10 - CentOS7
Katana3.1v1 - Windows 7 - CentOS7
Katana3.0v5 - Windows 7 - CentOS7
Katana3.0v1 - Windows 7 - CentOS7
Katana2.6v1 - Windows 7 - CentOS7
Expected behaviour
No error message is printed to the console when closing or opening the Katana project.
TeleParameter widgets display correct values and can be interacted with on reopening the project file.
Actual behaviour
An error message is printed to the console when closing or opening the Katana project.
TeleParameter widgets can't be interacted with correctly and may not display the correct values after reopening the project file.