[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