diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-24 17:37:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-24 17:38:20 +0300 |
commit | 5f7981243e70772cb4ef3b14c55c95d4a3e67b4e (patch) | |
tree | 88fc0e5374aa4f68e6d8dc0877e5321c701f8b1d /source/blender/depsgraph | |
parent | a8b97b2e418fbc9afed780275d4318c0cb9c9c8c (diff) |
Depsgraph: Allow finding operations after construction is done
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/nodes/deg_node_component.cc | 17 |
1 files changed, 15 insertions, 2 deletions
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; } |