diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 1a0cb2450c0..f9de48b1e83 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -29,7 +29,7 @@ extern "C" { /* Blender file format version. */ #define BLENDER_FILE_VERSION BLENDER_VERSION -#define BLENDER_FILE_SUBVERSION 28 +#define BLENDER_FILE_SUBVERSION 29 /* Minimum Blender version that supports reading file written with the current * version. Older Blender versions will test this and cancel loading the file, showing a warning to diff --git a/source/blender/blenloader/intern/versioning_400.cc b/source/blender/blenloader/intern/versioning_400.cc index e7b74cad782..79b984b39f0 100644 --- a/source/blender/blenloader/intern/versioning_400.cc +++ b/source/blender/blenloader/intern/versioning_400.cc @@ -1546,6 +1546,19 @@ void blo_do_versions_400(FileData *fd, Library * /*lib*/, Main *bmain) } } + if (!MAIN_VERSION_FILE_ATLEAST(bmain, 400, 29)) { + /* Unhide all Reroute nodes. */ + FOREACH_NODETREE_BEGIN (bmain, ntree, id) { + LISTBASE_FOREACH (bNode *, node, &ntree->nodes) { + if (node->is_reroute()) { + static_cast(node->inputs.first)->flag &= ~SOCK_HIDDEN; + static_cast(node->outputs.first)->flag &= ~SOCK_HIDDEN; + } + } + } + FOREACH_NODETREE_END; + } + /** * Versioning code until next subversion bump goes here. * diff --git a/source/blender/editors/space_node/node_edit.cc b/source/blender/editors/space_node/node_edit.cc index 56f8d85fb68..fc746cce3f8 100644 --- a/source/blender/editors/space_node/node_edit.cc +++ b/source/blender/editors/space_node/node_edit.cc @@ -1102,6 +1102,11 @@ bool node_has_hidden_sockets(bNode *node) void node_set_hidden_sockets(bNode *node, int set) { + /* The Reroute node is the socket itself, do not hide this. */ + if (node->is_reroute()) { + return; + } + if (set == 0) { LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) { sock->flag &= ~SOCK_HIDDEN; diff --git a/source/blender/makesrna/intern/rna_node_socket.cc b/source/blender/makesrna/intern/rna_node_socket.cc index bfd9b15b2a9..2d68728e1bf 100644 --- a/source/blender/makesrna/intern/rna_node_socket.cc +++ b/source/blender/makesrna/intern/rna_node_socket.cc @@ -293,6 +293,15 @@ static void rna_NodeSocket_hide_set(PointerRNA *ptr, bool value) return; } + bNodeTree *ntree = reinterpret_cast(ptr->owner_id); + bNode *node; + nodeFindNode(ntree, sock, &node, nullptr); + + /* The Reroute node is the socket itself, do not hide this. */ + if (node->is_reroute()) { + return; + } + if (value) { sock->flag |= SOCK_HIDDEN; }