diff --git a/source/blender/blenloader/intern/versioning_400.cc b/source/blender/blenloader/intern/versioning_400.cc index 1c5b42d970f..88a36ff3b1e 100644 --- a/source/blender/blenloader/intern/versioning_400.cc +++ b/source/blender/blenloader/intern/versioning_400.cc @@ -2788,7 +2788,16 @@ static void node_reroute_add_storage(bNodeTree &tree) continue; } - const bNodeSocket &input = *static_cast(node->inputs.first); + bNodeSocket &input = *static_cast(node->inputs.first); + bNodeSocket &output = *static_cast(node->outputs.first); + + /* Use uniform identifier for sockets. In old Blender versions (<=2021, up to af0b7925), the + * identifiers were sometimes all lower case. Fixing those wrong socket identifiers is + * important because otherwise they loose links now that the reroute node also uses node + * declarations. */ + STRNCPY(input.identifier, "Input"); + STRNCPY(output.identifier, "Output"); + NodeReroute *data = MEM_cnew(__func__); STRNCPY(data->type_idname, input.idname); node->storage = data;