State:Closed|icon_bug|icon_katana|database:public|Resolution:Fixed|TargetRelease:3.0v1|BugID:280693|
Problem summary
When rebuilding ports following a 'nodeType' change on a ShadingNodeBase subclass, port connections can be missing or erroneous when output ports (specifically the first one) appear in a different order on the new shader.
Customer reported version
Not supplied
Customer reported platform
Not supplied
Steps to reproduce
Expand the attached archive and change into that directory in the terminal
Run cp *.oso /tmp
Launch Katana with the following flag: --script test.py
Or open the scene in Katana and run the following commands in the Python tab:
firstNode = NodegraphAPI.GetNode('first')
for port in firstNode.getOutputPorts():
for connectedPort in port.getConnectedPorts():
print 'BEFORE:', port.getName(), connectedPort.getName()
firstNode.getParameter('nodeType').setValue('/tmp/shader_v2.oso', 0)
Utils.EventModule.ProcessAllEvents() #salt over sholder
firstNode.checkDynamicParameters()
for port in firstNode.getOutputPorts():
for connectedPort in port.getConnectedPorts():
print 'AFTER:', port.getName(), connectedPort.getName()
Workaround
Unknown.
Reproduced by support
Katana 2.1v5, 2.1v1 CentOS7
Katana 2.5v1, 2.5v5 CentOS7
NOT reproduced
Katana 2.0v1, 2.0v5 CentOS7
Expected behaviour
While the order of ports should be different, the connections between similarly named ports should be identical.
Actual behaviour
The connections between the first two ports are swapped.
We're sorry to hear that
Please tell us why