ID 340010 - TeleParameter widgets referencing ShadingNode parameters may not be built correctly

Follow

Problem summary
When TeleParameters on nodes reference parameters from ShadingNodes, the TeleParameter widgets may not be built correctly to reflect the referenced parameter's widget. For example, color widgets may be displayed as simple arrays and sliders as numbers. 



They only appear correct after the Parameters tab has been forced to redraw, e.g. by closing and re-opening it. 

However, if the Edit flag is set on the ShadingNode where the TeleParameter is referenced from before the TeleParameter itself is displayed, the widget appears correct.

Customer reported version
Katana 2.6v4

Customer reported platform
CentOS7

Steps to reproduce

1) In the Node Graph, create a Group node with two input ports:

group = NodegraphAPI.CreateNode("Group", NodegraphAPI.GetRootNode())
group.addInputPort("i0")
group.addInputPort("i1")
2) Connect a ShadingNode node into one of the input ports. To the other input, connect a ViewerObjectSettings node for comparison. 

3) Edit the Group node's parameters and add two user TeleParameters.

4) Hover over the ShadingNode and press Shift+E to add its parameters to the Parameters tab. Drag and drop a parameter with a color widget onto the first TeleParameter.

5) Do the same for the ViewerObjectSettings node and drag and drop the drawOptions.color parameter onto the second TeleParameter.

6) Finish editing user parameters on the group. Both TeleParameters should correctly show color widgets in the parameters tab at this point.

7) Save and reopen the scene. 

8) Inspect the user parameters on the Group node. The TeleParameter referencing the ViewerObjectSettings node's drawOptions.color parameter correctly shows a color widget, but the other TeleParameter shows the color as a plain array.

Reproduced by Support
Katana 2.6v4 - Windows 10 - CentOS 7.4
Katana 2.6v1 - Windows 10
Katana 2.5v7 - Windows 10 - CentOS 7.4
Katana 2.5v1 - Windows 10
Katana 2.1v1 - CentOS 7.4
Katana 2.0v1 - CentOS 7.4

Workaround
Force the Parameters tab to re-draw by closing and re-opening the tab, or by setting the Edit flag on a different node, flush caches and edit the affected node again.

Expected behaviour
TeleParameters that should display color or other specialised widgets are displayed correctly.

Actual behaviour
Some widgets for TeleParameters may be incorrect.

    We're sorry to hear that

    Please tell us why