[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