diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-12-01 14:07:41 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-12-01 14:07:41 +0300 |
commit | ecbdc3f1d4793ac93f8f9131cab7f21b9f097712 (patch) | |
tree | 0a1b4e760578998d790f430fde4ea6e29e70e7ec | |
parent | 2ae709d282a9e348f198b4c7fe265e83fc125765 (diff) |
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.
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 10 |
1 files 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) { |