[Bf-blender-cvs] [5f7981243e7] master: Depsgraph: Allow finding operations after construction is done

Sergey Sharybin noreply at git.blender.org
Fri Nov 24 15:39:05 CET 2017


Commit: 5f7981243e70772cb4ef3b14c55c95d4a3e67b4e
Author: Sergey Sharybin
Date:   Fri Nov 24 15:37:51 2017 +0100
Branches: master
https://developer.blender.org/rB5f7981243e70772cb4ef3b14c55c95d4a3e67b4e

Depsgraph: Allow finding operations after construction is done

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

M	source/blender/depsgraph/intern/nodes/deg_node_component.cc

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

diff --git a/source/blender/depsgraph/intern/nodes/deg_node_component.cc b/source/blender/depsgraph/intern/nodes/deg_node_component.cc
index 7a39b1b09e5..937b01ce206 100644
--- a/source/blender/depsgraph/intern/nodes/deg_node_component.cc
+++ b/source/blender/depsgraph/intern/nodes/deg_node_component.cc
@@ -165,8 +165,21 @@ string ComponentDepsNode::identifier() const
 
 OperationDepsNode *ComponentDepsNode::find_operation(OperationIDKey key) const
 {
-	OperationDepsNode *node =
-	        (OperationDepsNode *)BLI_ghash_lookup(operations_map, &key);
+	OperationDepsNode *node;
+	if (operations_map != NULL) {
+		node = (OperationDepsNode *)BLI_ghash_lookup(operations_map, &key);
+	}
+	else {
+		BLI_assert(key.name_tag == -1);
+		foreach (OperationDepsNode *op_node, operations) {
+			if (op_node->opcode == key.opcode &&
+			    STREQ(op_node->name, key.name))
+			{
+				node = op_node;
+				break;
+			}
+		}
+	}
 	return node;
 }



More information about the Bf-blender-cvs mailing list