Skip to content

GraphEditor : Crashes clearing name on connected input node #2815

@kwokcb

Description

@kwokcb

Issue

Renaming connected <input> nodes can cause the editor to crash. Does not appear with other node types.

Steps

  • Have an upstream input node connected to a downstream nodegraph interface input. You can create a new input nod and connect it to the NG_marble1's base_color_1 on the default graph when loaded.
  • Select the input and try to clear it's name.
  • Crash occurs with this stack:
>	MaterialXGraphEditor.exe!std::_Hash<std::_Umap_traits<std::string,std::string,std::_Uhash_compare<std::string,std::hash<std::string>,std::equal_to<std::string>>,std::allocator<std::pair<std::string const ,std::string>>,0>>::_Find_last<std::string>(const std::string & _Keyval, const unsigned __int64 _Hashval) Line 1566	C++
 	[Inline Frame] MaterialXGraphEditor.exe!std::_Hash<std::_Umap_traits<std::string,std::string,std::_Uhash_compare<std::string,std::hash<std::string>,std::equal_to<std::string>>,std::allocator<std::pair<std::string const ,std::string>>,0>>::_Find(const std::string &) Line 1215	C++
 	[Inline Frame] MaterialXGraphEditor.exe!std::_Hash<std::_Umap_traits<std::string,std::string,std::_Uhash_compare<std::string,std::hash<std::string>,std::equal_to<std::string>>,std::allocator<std::pair<std::string const ,std::string>>,0>>::find(const std::string &) Line 1227	C++
 	MaterialXGraphEditor.exe!MaterialX_v1_39_5::Element::removeAttribute(const std::string & attrib) Line 206	C++
 	MaterialXGraphEditor.exe!MaterialX_v1_39_5::PortElement::setConnectedNode(std::shared_ptr<MaterialX_v1_39_5::Node const> node) Line 46	C++
 	MaterialXGraphEditor.exe!Graph::propertyEditor() Line 3353	C++
 	MaterialXGraphEditor.exe!Graph::graphButtons() Line 3143	C++
 	MaterialXGraphEditor.exe!Graph::drawGraph(ImVec2 mousePos) Line 4098	C++
 	MaterialXGraphEditor.exe!main(int argc, char * const * argv) Line 298	C++

this is the line causing the issue:

uiNode->getOutput()->setConnectedNode(_currUiNode->getNode());

There are no outputs. on uiNode.

Possible Patch

Seems like you can add a null check here but someone needs to see the root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions