[Bf-blender-cvs] [cf0f2f2d3db] master: Fix T67256: Add object redo duplicates, after exiting sculpt mode

Campbell Barton noreply at git.blender.org
Fri Jul 26 07:00:40 CEST 2019


Commit: cf0f2f2d3dbf6e90a2c81d59bbdb8af538376f9c
Author: Campbell Barton
Date:   Fri Jul 26 14:24:38 2019 +1000
Branches: master
https://developer.blender.org/rBcf0f2f2d3dbf6e90a2c81d59bbdb8af538376f9c

Fix T67256: Add object redo duplicates, after exiting sculpt mode

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

M	source/blender/blenkernel/intern/undo_system.c

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

diff --git a/source/blender/blenkernel/intern/undo_system.c b/source/blender/blenkernel/intern/undo_system.c
index 8ea5b47de5f..338ec01ab92 100644
--- a/source/blender/blenkernel/intern/undo_system.c
+++ b/source/blender/blenkernel/intern/undo_system.c
@@ -560,12 +560,15 @@ bool BKE_undosys_step_push_with_type(UndoStack *ustack,
   }
 
   if (use_memfile_step) {
-    const char *name_internal = "MemFile Internal (post)";
+    /* Make this the user visible undo state, so redo always applies
+     * on top of the mem-file undo instead of skipping it. see: T67256. */
+    UndoStep *us_prev = ustack->step_active;
+    const char *name_internal = us_prev->name;
     const bool ok = undosys_stack_push_main(ustack, name_internal, G_MAIN);
     if (ok) {
       UndoStep *us = ustack->steps.last;
       BLI_assert(STREQ(us->name, name_internal));
-      us->skip = true;
+      us_prev->skip = true;
 #ifdef WITH_GLOBAL_UNDO_CORRECT_ORDER
       ustack->step_active_memfile = us;
 #endif



More information about the Bf-blender-cvs mailing list