[Bf-blender-cvs] [2342cd0a0f] master: Fix/workaround T50677: Shrinkwrap constraint don't get updated when target mesh gets modified

Sergey Sharybin noreply at git.blender.org
Mon Feb 27 16:29:23 CET 2017


Commit: 2342cd0a0f6ec37aae6612265939f71e144623a9
Author: Sergey Sharybin
Date:   Mon Feb 27 16:27:53 2017 +0100
Branches: master
https://developer.blender.org/rB2342cd0a0f6ec37aae6612265939f71e144623a9

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.

===================================================================

M	source/blender/editors/sculpt_paint/sculpt.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 84e98181df..44cc2720a3 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




More information about the Bf-blender-cvs mailing list