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);
+       }
 }
 
 /* -------------------------------------------------------------------- */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to