diff options
author | Joseph Eagar <joeedh@gmail.com> | 2021-09-16 23:44:21 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2021-09-16 23:44:21 +0300 |
commit | 627edd1efabb0baaed3127bd127215ffb0ddfbac (patch) | |
tree | d42cf9d0de78dbdeb21c11a95c0fde2d4caf5fee /source/blender/blenloader/intern/versioning_common.cc | |
parent | 445889676bfd900a237acbacbedeaadc30881cc7 (diff) | |
parent | db7fca3588aab72e49a74cbb2c236f86c0e0e6c1 (diff) |
Merge branch 'master' into temp_bmesh_multires
Diffstat (limited to 'source/blender/blenloader/intern/versioning_common.cc')
-rw-r--r-- | source/blender/blenloader/intern/versioning_common.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_common.cc b/source/blender/blenloader/intern/versioning_common.cc index 208c02b60d1..3f13d1ec12e 100644 --- a/source/blender/blenloader/intern/versioning_common.cc +++ b/source/blender/blenloader/intern/versioning_common.cc @@ -22,6 +22,7 @@ #include <cstring> +#include "DNA_node_types.h" #include "DNA_screen_types.h" #include "BLI_listbase.h" @@ -85,3 +86,30 @@ ID *do_versions_rename_id(Main *bmain, } return id; } + +void version_node_socket_name(bNodeTree *ntree, + const int node_type, + const char *old_name, + const char *new_name) +{ + LISTBASE_FOREACH (bNode *, node, &ntree->nodes) { + if (node->type == node_type) { + LISTBASE_FOREACH (bNodeSocket *, socket, &node->inputs) { + if (STREQ(socket->name, old_name)) { + BLI_strncpy(socket->name, new_name, sizeof(socket->name)); + } + if (STREQ(socket->identifier, old_name)) { + BLI_strncpy(socket->identifier, new_name, sizeof(socket->name)); + } + } + LISTBASE_FOREACH (bNodeSocket *, socket, &node->outputs) { + if (STREQ(socket->name, old_name)) { + BLI_strncpy(socket->name, new_name, sizeof(socket->name)); + } + if (STREQ(socket->identifier, old_name)) { + BLI_strncpy(socket->identifier, new_name, sizeof(socket->name)); + } + } + } + } +} |