diff options
Diffstat (limited to 'source/blender/nodes/intern/node_common.c')
-rw-r--r-- | source/blender/nodes/intern/node_common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c index 36b9098d972..0b1ab85c059 100644 --- a/source/blender/nodes/intern/node_common.c +++ b/source/blender/nodes/intern/node_common.c @@ -188,6 +188,10 @@ void node_group_update(struct bNodeTree *ntree, struct bNode *node) if (node->id == NULL) { nodeRemoveAllSockets(ntree, node); } + else if ((ID_IS_LINKED(node->id) && (node->id->tag & LIB_TAG_MISSING))) { + /* Missing datablock, leave sockets unchanged so that when it comes back + * the links remain valid. */ + } else { bNodeTree *ngroup = (bNodeTree *)node->id; group_verify_socket_list(ntree, node, &ngroup->inputs, &node->inputs, SOCK_IN); |