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.
This commit is contained in:
Sergey Sharybin 2017-02-27 16:27:53 +01:00
parent 691ffb60b9
commit 2342cd0a0f

@ -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