[Bf-blender-cvs] [ecbdc3f1d47] blender2.8: Transform: Avoid attempt to bypass dependency graph update

Sergey Sharybin noreply at git.blender.org
Fri Dec 1 13:04:45 CET 2017


Commit: ecbdc3f1d4793ac93f8f9131cab7f21b9f097712
Author: Sergey Sharybin
Date:   Fri Dec 1 12:07:41 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBecbdc3f1d4793ac93f8f9131cab7f21b9f097712

Transform: Avoid attempt to bypass dependency graph update

It's not possible to bypass new depsgraph, but also flush to other CoW copies
might be needed here.

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

M	source/blender/editors/transform/transform_conversions.c

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

diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 5233bdf91e1..730ca70547b 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -6476,12 +6476,16 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
 			DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 		}
 		else if (arm->flag & ARM_DELAYDEFORM) {
-			/* old optimize trick... this enforces to bypass the depgraph */
+			/* TODO(sergey): Armature is already updated by recalcData(), so we
+			 * might save some time by skipping re-evaluating it. But this isn't
+			 * possible yet within new dependency graph, and also other contexts
+			 * might need to update their CoW copies.
+			 */
 			DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
-			ob->recalc = 0;  // is set on OK position already by recalcData()
 		}
-		else
+		else {
 			DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
+		}
 
 	}
 	else if (t->options & CTX_PAINT_CURVE) {



More information about the Bf-blender-cvs mailing list