Commit: a3ca973dec752687dbbf5c3b24b51404ddfdf614
Author: Jacques Lucke
Date: Mon Sep 6 17:21:27 2021 +0200
Branches: master
https://developer.blender.org/rBa3ca973dec752687dbbf5c3b24b51404ddfdf614
Nodes: fix incorrect id socket update
The issue was that the entire socket was rebuild, even though
only its `SOCK_HIDE_LABEL` flag changed. This broke e.g.
Object sockets from old files.
===================================================================
M source/blender/nodes/NOD_socket_declarations.hh
===================================================================
diff --git a/source/blender/nodes/NOD_socket_declarations.hh
b/source/blender/nodes/NOD_socket_declarations.hh
index 639d2c12d73..1a5873c37b5 100644
--- a/source/blender/nodes/NOD_socket_declarations.hh
+++ b/source/blender/nodes/NOD_socket_declarations.hh
@@ -199,6 +199,20 @@ template<typename Subtype> class IDSocketDeclaration :
public SocketDeclaration
{
return matches_id_socket(socket, data_, name_, identifier_);
}
+
+ bNodeSocket &update_or_build(bNodeTree &ntree, bNode &node, bNodeSocket
&socket) const override
+ {
+ if (StringRef(socket.idname) != data_.idname) {
+ return this->build(ntree, node, (eNodeSocketInOut)socket.in_out);
+ }
+ if (data_.hide_label) {
+ socket.flag |= SOCK_HIDE_LABEL;
+ }
+ else {
+ socket.flag &= ~SOCK_HIDE_LABEL;
+ }
+ return socket;
+ }
};
} // namespace detail
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs