[Bf-blender-cvs] [7aa022b7a86] blender2.8: Depsgraph: We need to add ID node before getting CoW pointer

Sergey Sharybin noreply at git.blender.org
Fri Dec 8 16:07:59 CET 2017


Commit: 7aa022b7a8684e0fb62228a8bb989c8f42996d61
Author: Sergey Sharybin
Date:   Fri Dec 8 15:43:26 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB7aa022b7a8684e0fb62228a8bb989c8f42996d61

Depsgraph: We need to add ID node before getting CoW pointer

Need to split runtime get-cow-pointer with a builder one, and add some asserts
to catch mis-use.

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 17831fc1ccd..eb297682308 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -422,7 +422,6 @@ void DepsgraphNodeBuilder::end_build()
 void DepsgraphNodeBuilder::build_group(Group *group)
 {
 	ID *group_id = &group->id;
-	Group *group_cow = get_cow_datablock(group);
 	if (group_id->tag & LIB_TAG_DOIT) {
 		return;
 	}
@@ -437,6 +436,8 @@ void DepsgraphNodeBuilder::build_group(Group *group)
 	 * This way we wouldn't need to worry about possible relations from DONE,
 	 * regardless whether it's a group or scene or something else.
 	 */
+	add_id_node(group_id);
+	Group *group_cow = get_cow_datablock(group);
 	add_operation_node(group_id,
 	                   DEG_NODE_TYPE_LAYER_COLLECTIONS,
 	                   function_bind(BKE_group_eval_view_layers,



More information about the Bf-blender-cvs mailing list