forked from bartvdbraak/blender
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.
This commit is contained in:
parent
861b7071a2
commit
a3ca973dec
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user