From 2342cd0a0f6ec37aae6612265939f71e144623a9 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 27 Feb 2017 16:27:53 +0100 Subject: Fix/workaround T50677: Shrinkwrap constraint don't get updated when target mesh gets modified Do a "full" update on leaving sculpt mode, so we are sure scene will be brought to a consistent state. Ideally we'll only do that when there are objects which depends on geometry without re-calculating self geometry, but that's a bit tricky currently. --- source/blender/editors/sculpt_paint/sculpt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 84e98181dfb..44cc2720a32 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -5361,8 +5361,12 @@ static int sculpt_mode_toggle_exec(bContext *C, wmOperator *op) if (mmd) multires_force_update(ob); - if (flush_recalc || (ob->sculpt && ob->sculpt->bm)) + /* Always for now, so leaving sculpt mode always ensures scene is in + * a consistent state. + */ + if (true || flush_recalc || (ob->sculpt && ob->sculpt->bm)) { DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + } if (me->flag & ME_SCULPT_DYNAMIC_TOPOLOGY) { /* Dynamic topology must be disabled before exiting sculpt -- cgit v1.2.3