From 021c40167dea0fae056775f979a6e94c8fcc2a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dietrich?= Date: Mon, 9 Nov 2020 14:05:18 +0100 Subject: Cycles: fix Node::tag_modified not setting modified flag's upper bits Previous code was flipping the bits on a 32-bit number and doing a zero extension to cast to 64-bit, so mark the constant as long to begin with. This would also erase previously set bits in this part the flag. --- intern/cycles/graph/node.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/graph/node.cpp b/intern/cycles/graph/node.cpp index 0f073ed9b63..c926f6ab8ef 100644 --- a/intern/cycles/graph/node.cpp +++ b/intern/cycles/graph/node.cpp @@ -35,7 +35,7 @@ Node::Node(const NodeType *type_, ustring name_) : name(name_), type(type_) assert(type); owner = nullptr; - socket_modified = ~0; + tag_modified(); /* assign non-empty name, convenient for debugging */ if (name.empty()) { @@ -785,7 +785,7 @@ bool Node::is_modified() void Node::tag_modified() { - socket_modified = ~0u; + socket_modified = ~0ull; } void Node::clear_modified() -- cgit v1.2.3