[Bf-blender-cvs] [cdd1e86499a] blender2.8: Fix/workaround wrong dependency graph being constructed after creating a proxy

Sergey Sharybin noreply at git.blender.org
Fri Oct 20 16:15:58 CEST 2017


Commit: cdd1e86499a31938d6e139ea091c4ec576ec8173
Author: Sergey Sharybin
Date:   Fri Oct 20 16:15:30 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBcdd1e86499a31938d6e139ea091c4ec576ec8173

Fix/workaround wrong dependency graph being constructed after creating a proxy

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

M	source/blender/editors/object/object_relations.c

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

diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 839f8094c43..05739a2dec0 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -375,6 +375,15 @@ static int make_proxy_exec(bContext *C, wmOperator *op)
 
 		BKE_object_make_proxy(newob, ob, gob);
 
+		/* Set back pointer immediately so dependency graph knows that this is
+		 * is a proxy and will act accordingly. Otherwise correctness of graph
+		 * will depend on order of bases.
+		 *
+		 * TODO(sergey): We really need to get rid of this bi-directional links
+		 * in proxies with something like static overrides.
+		 */
+		newob->proxy->proxy_from = newob;
+
 		/* depsgraph flushes are needed for the new data */
 		DEG_relations_tag_update(bmain);
 		DEG_id_tag_update(&newob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);



More information about the Bf-blender-cvs mailing list