[Bf-blender-cvs] [021c40167de] master: Cycles: fix Node::tag_modified not setting modified flag's upper bits

Kévin Dietrich noreply at git.blender.org
Mon Nov 9 14:58:55 CET 2020


Commit: 021c40167dea0fae056775f979a6e94c8fcc2a37
Author: Kévin Dietrich
Date:   Mon Nov 9 14:05:18 2020 +0100
Branches: master
https://developer.blender.org/rB021c40167dea0fae056775f979a6e94c8fcc2a37

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.

===================================================================

M	intern/cycles/graph/node.cpp

===================================================================

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()



More information about the Bf-blender-cvs mailing list