diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-05-29 17:17:41 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-05-29 18:33:07 +0300 |
commit | 85d845ef98bfa612f253c8580ceb00d6ce5b443a (patch) | |
tree | 056303b9a8ba5be60fc7cbd6a35cc9b3ec2e5918 /source | |
parent | 5eda9732b3199f4ebf9cd106a1b36152e86ebf32 (diff) |
Fix crash when moving object parented to a curve
Note, we can probably remove scene from BKE_object_where_is_calc
and force to always use it from depsgraph.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 49ac60df315..b23caea7fb7 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -5676,13 +5676,15 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob) if (t->mode == TFM_DUMMY) skip_invert = true; + Scene *scene_eval = DEG_get_evaluated_scene(t->depsgraph); if (skip_invert == false && constinv == false) { - ob->transflag |= OB_NO_CONSTRAINTS; /* BKE_object_where_is_calc_time checks this */ - BKE_object_where_is_calc(t->depsgraph, t->scene, ob); - ob->transflag &= ~OB_NO_CONSTRAINTS; + ob_eval->transflag |= OB_NO_CONSTRAINTS; /* BKE_object_where_is_calc_time checks this */ + BKE_object_where_is_calc(t->depsgraph, scene_eval, ob_eval); + ob_eval->transflag &= ~OB_NO_CONSTRAINTS; + } + else { + BKE_object_where_is_calc(t->depsgraph, scene_eval, ob_eval); } - else - BKE_object_where_is_calc(t->depsgraph, t->scene, ob); td->ob = ob; |