[Bf-blender-cvs] [fc61cdf142] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Thu Mar 16 15:42:54 CET 2017


Commit: fc61cdf1428dc74f4ef9b834de9082f910ce08e0
Author: Sergey Sharybin
Date:   Thu Mar 16 15:42:49 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBfc61cdf1428dc74f4ef9b834de9082f910ce08e0

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 4c84ac417e,7bcaee61fe..b6071b1075
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -495,10 -494,21 +495,21 @@@ void DepsgraphNodeBuilder::build_object
  		build_particles(scene, ob);
  	}
  
- 	/* grease pencil */
- 	if (ob->gpd) {
+ 	/* Grease pencil. */
+ 	if (ob->gpd != NULL) {
  		build_gpencil(ob->gpd);
  	}
+ 
+ 	/* Object that this is a proxy for. */
+ 	if (ob->proxy) {
+ 		ob->proxy->proxy_from = ob;
 -		build_object(scene, base, ob->proxy);
++		build_object(scene, ob->proxy);
+ 	}
+ 
+ 	/* Object dupligroup. */
+ 	if (ob->dup_group != NULL) {
 -		build_group(scene, base, ob->dup_group);
++		build_group(scene, ob->dup_group);
+ 	}
  }
  
  void DepsgraphNodeBuilder::build_object_transform(Scene *scene, Object *ob)
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc
index f4a191067c,7dd694cb57..2141f7f649
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc
@@@ -80,24 -79,10 +80,12 @@@ void DepsgraphNodeBuilder::build_scene(
  	}
  
  	/* scene objects */
 -	LINKLIST_FOREACH (Base *, base, &scene->base) {
 -		Object *ob = base->object;
 -		build_object(scene, base, ob);
 +	FOREACH_SCENE_OBJECT(scene, ob)
 +	{
 +		/* object itself */
 +		build_object(scene, ob);
- 
- 		/* object that this is a proxy for */
- 		// XXX: the way that proxies work needs to be completely reviewed!
- 		if (ob->proxy) {
- 			ob->proxy->proxy_from = ob;
- 			build_object(scene, ob->proxy);
- 		}
- 
- 		/* Object dupligroup. */
- 		if (ob->dup_group) {
- 			build_group(scene, ob->dup_group);
- 		}
  	}
 +	FOREACH_SCENE_OBJECT_END
  
  	/* rigidbody */
  	if (scene->rigidbody_world) {
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc
index f0d70e3871,3bf435c37e..2e2182609d
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc
@@@ -75,29 -74,10 +75,11 @@@ void DepsgraphRelationBuilder::build_sc
  	}
  
  	/* scene objects */
 -	LINKLIST_FOREACH (Base *, base, &scene->base) {
 -		Object *ob = base->object;
 +	FOREACH_SCENE_OBJECT(scene, ob)
 +	{
- 		/* object itself */
  		build_object(bmain, scene, ob);
- 
- 		/* object that this is a proxy for */
- 		if (ob->proxy) {
- 			ob->proxy->proxy_from = ob;
- 			build_object(bmain, scene, ob->proxy);
- 			/* TODO(sergey): This is an inverted relation, matches old depsgraph
- 			 * behavior and need to be investigated if it still need to be inverted.
- 			 */
- 			ComponentKey ob_pose_key(&ob->id, DEPSNODE_TYPE_EVAL_POSE);
- 			ComponentKey proxy_pose_key(&ob->proxy->id, DEPSNODE_TYPE_EVAL_POSE);
- 			add_relation(ob_pose_key, proxy_pose_key, DEPSREL_TYPE_TRANSFORM, "Proxy");
- 		}
- 
- 		/* Object dupligroup. */
- 		if (ob->dup_group) {
- 			build_group(bmain, scene, ob, ob->dup_group);
- 		}
  	}
 +	FOREACH_SCENE_OBJECT_END
  
  	/* rigidbody */
  	if (scene->rigidbody_world) {




More information about the Bf-blender-cvs mailing list