Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/shader/node_shader_tree.c
| Show First 20 Lines • Show All 517 Lines • ▼ Show 20 Lines | for (bNode *node = localtree->nodes.first, *node_next; node; node = node_next) { | ||||
| if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) { | if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) { | ||||
| flatten_group_do(localtree, node); | flatten_group_do(localtree, node); | ||||
| /* Continue even on new flattened nodes. */ | /* Continue even on new flattened nodes. */ | ||||
| node_next = node->next; | node_next = node->next; | ||||
| /* delete the group instance and its localtree. */ | /* delete the group instance and its localtree. */ | ||||
| bNodeTree *ngroup = (bNodeTree *)node->id; | bNodeTree *ngroup = (bNodeTree *)node->id; | ||||
| ntreeFreeLocalNode(localtree, node); | ntreeFreeLocalNode(localtree, node); | ||||
| ntreeFreeTree(ngroup); | ntreeFreeTree(ngroup); | ||||
| BLI_assert(!ngroup->id.py_instance); /* Or call #BKE_libblock_free_data_py. */ | |||||
| MEM_freeN(ngroup); | MEM_freeN(ngroup); | ||||
| } | } | ||||
| else { | else { | ||||
| node_next = node->next; | node_next = node->next; | ||||
| } | } | ||||
| } | } | ||||
| ntreeUpdateTree(G.main, localtree); | ntreeUpdateTree(G.main, localtree); | ||||
| ▲ Show 20 Lines • Show All 499 Lines • Show Last 20 Lines | |||||