Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/intern/node_common.c
| Show First 20 Lines • Show All 192 Lines • ▼ Show 20 Lines | |||||
| /* make sure all group node in ntree, which use ngroup, are sync'd */ | /* make sure all group node in ntree, which use ngroup, are sync'd */ | ||||
| void node_group_update(struct bNodeTree *ntree, struct bNode *node) | void node_group_update(struct bNodeTree *ntree, struct bNode *node) | ||||
| { | { | ||||
| /* check inputs and outputs, and remove or insert them */ | /* check inputs and outputs, and remove or insert them */ | ||||
| if (node->id == NULL) { | if (node->id == NULL) { | ||||
| nodeRemoveAllSockets(ntree, node); | nodeRemoveAllSockets(ntree, node); | ||||
| } | } | ||||
| else if ((ID_IS_LINKED(node->id) && (node->id->tag & LIB_TAG_MISSING))) { | else if ((ID_IS_LINKED(node->id) && (node->id->tag & LIB_TAG_MISSING))) { | ||||
| /* Missing datablock, leave sockets unchanged so that when it comes back | /* Missing data-block, leave sockets unchanged so that when it comes back | ||||
| * the links remain valid. */ | * the links remain valid. */ | ||||
| } | } | ||||
| else { | else { | ||||
| bNodeTree *ngroup = (bNodeTree *)node->id; | bNodeTree *ngroup = (bNodeTree *)node->id; | ||||
| group_verify_socket_list(ntree, node, &ngroup->inputs, &node->inputs, SOCK_IN); | group_verify_socket_list(ntree, node, &ngroup->inputs, &node->inputs, SOCK_IN); | ||||
| group_verify_socket_list(ntree, node, &ngroup->outputs, &node->outputs, SOCK_OUT); | group_verify_socket_list(ntree, node, &ngroup->outputs, &node->outputs, SOCK_OUT); | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 421 Lines • Show Last 20 Lines | |||||