Commit: 2bd71b49e79325863bfe3c561fa03653231c9914 Author: Jacques Lucke Date: Tue Feb 1 17:48:44 2022 +0100 Branches: blender-v3.1-release https://developer.blender.org/rB2bd71b49e79325863bfe3c561fa03653231c9914
Fix T95395: dangling parent pointer when creating node group Differential Revision: https://developer.blender.org/D13981 =================================================================== M source/blender/editors/space_node/node_group.cc =================================================================== diff --git a/source/blender/editors/space_node/node_group.cc b/source/blender/editors/space_node/node_group.cc index 73e419d667a..3d3f8378916 100644 --- a/source/blender/editors/space_node/node_group.cc +++ b/source/blender/editors/space_node/node_group.cc @@ -776,6 +776,18 @@ static void node_group_make_insert_selected(const bContext &C, bNodeTree &ntree, ListBase anim_basepaths = {nullptr, nullptr}; + /* Detach unselected nodes inside frames when the frame is put into the group. Otherwise the + * `parent` pointer becomes dangling. */ + LISTBASE_FOREACH (bNode *, node, &ntree.nodes) { + if (node->parent == nullptr) { + continue; + } + if (node_group_make_use_node(*node->parent, gnode) && + !node_group_make_use_node(*node, gnode)) { + nodeDetachNode(node); + } + } + /* move nodes over */ LISTBASE_FOREACH_MUTABLE (bNode *, node, &ntree.nodes) { if (node_group_make_use_node(*node, gnode)) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs