[Bf-blender-cvs] [ef33215bb77] master: Fix sculpt redo failing to enable dyntopo

Campbell Barton noreply at git.blender.org
Wed Jan 9 08:16:53 CET 2019


Commit: ef33215bb777eb3eb0d7d5527f39fb7788deb7ec
Author: Campbell Barton
Date:   Wed Jan 9 18:08:14 2019 +1100
Branches: master
https://developer.blender.org/rBef33215bb777eb3eb0d7d5527f39fb7788deb7ec

Fix sculpt redo failing to enable dyntopo

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

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

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

diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c
index 090bc335d66..d3bcee3dc2e 100644
--- a/source/blender/editors/sculpt_paint/sculpt_undo.c
+++ b/source/blender/editors/sculpt_paint/sculpt_undo.c
@@ -62,6 +62,8 @@
 #include "BKE_subsurf.h"
 #include "BKE_subdiv_ccg.h"
 #include "BKE_undo_system.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
 
 #include "DEG_depsgraph.h"
 
@@ -1009,8 +1011,12 @@ void sculpt_undo_push_end(void)
 			BKE_pbvh_node_layer_disp_free(unode->node);
 	}
 
-	UndoStack *ustack = ED_undo_stack_get();
-	BKE_undosys_step_push(ustack, NULL, NULL);
+	/* We could remove this and enforce all callers run in an operator using 'OPTYPE_UNDO'. */
+	wmWindowManager *wm = G_MAIN->wm.first;
+	if (wm->op_undo_depth == 0) {
+		UndoStack *ustack = ED_undo_stack_get();
+		BKE_undosys_step_push(ustack, NULL, NULL);
+	}
 }
 
 /* -------------------------------------------------------------------- */



More information about the Bf-blender-cvs mailing list