Fix #115037: Crash deleting tool node group from outliner #115047

Merged
Philipp Oeser merged 4 commits from lichtwerk/blender:115037 into main 2023-11-30 15:48:52 +01:00
1 changed files with 5 additions and 0 deletions

View File

@ -1155,6 +1155,11 @@ static void node_id_remap_cb(ID *old_id, ID *new_id, void *user_data)
}
}
else if (GS(old_id->name) == ID_NT) {
if (&snode->geometry_nodes_tool_tree->id == old_id) {
lichtwerk marked this conversation as resolved Outdated

Any reason not to just do:

if (snode->geometry_nodes_tool_tree == old_id) {
  snode->geometry_nodes_tool_tree = new_id;
}
Any reason not to just do: ``` if (snode->geometry_nodes_tool_tree == old_id) { snode->geometry_nodes_tool_tree = new_id; } ```

Use &snode->geometry_nodes_tool_tree->id and reinterpret_cast below

Use `&snode->geometry_nodes_tool_tree->id` and `reinterpret_cast` below
snode->geometry_nodes_tool_tree = reinterpret_cast<bNodeTree *>(new_id);
}
lichtwerk marked this conversation as resolved
Review

Definitely do NOT want to skip further processing of the NodeEditor path below!

Definitely do *NOT* want to skip further processing of the NodeEditor path below!
bNodeTreePath *path, *path_next;
for (path = (bNodeTreePath *)snode->treepath.first; path; path = path->next) {