From ecbdc3f1d4793ac93f8f9131cab7f21b9f097712 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 1 Dec 2017 12:07:41 +0100 Subject: [PATCH] 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. --- .../blender/editors/transform/transform_conversions.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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) {