Skip to content

Commit 33fe3a7

Browse files
committed
Handle tokens defined on custom node instances
Signed-off-by: mialana <aliu@amyliu.dev>
1 parent 8d0767b commit 33fe3a7

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

source/MaterialXGraphEditor/UiNode.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,18 @@ void UiNode::buildUiTokenMap()
119119
{
120120
handleTokenMapping(interfaceElem, currElem);
121121

122-
// If the node is a nodegraph, also check for tokens on corresponding nodedef
122+
// If the node is a nodegraph, check for tokens on corresponding nodedef
123123
if (mx::ConstNodeGraphPtr nodegraph = currElem->asA<mx::NodeGraph>())
124124
{
125125
if (mx::NodeDefPtr nodedef = nodegraph->getNodeDef())
126-
{
127126
handleTokenMapping(nodedef, nodedef);
128-
}
127+
}
128+
129+
// If the node is a custom node instance, check for tokens on corresponding nodedef
130+
if (mx::NodePtr node = currElem->asA<mx::Node>())
131+
{
132+
if (mx::NodeDefPtr nodedef = node->getNodeDef())
133+
handleTokenMapping(nodedef, nodedef);
129134
}
130135
}
131136
currElem = currElem->getParent();
@@ -161,6 +166,7 @@ void UiNode::buildUiTokenMap()
161166
}
162167
}
163168
}
169+
164170
// return the uiNode connected with input name
165171
UiNodePtr UiNode::getConnectedNode(const std::string& name)
166172
{

0 commit comments

Comments
 (0)