diff options
-rw-r--r-- | source/blender/blenkernel/BKE_undo_system.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/undo_system.c | 12 | ||||
-rw-r--r-- | source/blender/editors/undo/ed_undo.c | 13 |
3 files changed, 11 insertions, 15 deletions
diff --git a/source/blender/blenkernel/BKE_undo_system.h b/source/blender/blenkernel/BKE_undo_system.h index d99e6f02bdb..ebf50b8ceec 100644 --- a/source/blender/blenkernel/BKE_undo_system.h +++ b/source/blender/blenkernel/BKE_undo_system.h @@ -156,7 +156,6 @@ bool BKE_undosys_step_redo(UndoStack *ustack, struct bContext *C); bool BKE_undosys_step_load_data(UndoStack *ustack, struct bContext *C, UndoStep *us); -bool BKE_undosys_step_undo_compat_only(UndoStack *ustack, struct bContext *C, int step); void BKE_undosys_step_undo_from_index(UndoStack *ustack, struct bContext *C, int index); UndoStep *BKE_undosys_step_same_type_next(UndoStep *us); UndoStep *BKE_undosys_step_same_type_prev(UndoStep *us); diff --git a/source/blender/blenkernel/intern/undo_system.c b/source/blender/blenkernel/intern/undo_system.c index 158c165655a..46a69b01d8e 100644 --- a/source/blender/blenkernel/intern/undo_system.c +++ b/source/blender/blenkernel/intern/undo_system.c @@ -767,18 +767,6 @@ bool BKE_undosys_step_load_data(UndoStack *ustack, bContext *C, UndoStep *us) return ok; } -bool BKE_undosys_step_undo_compat_only(UndoStack *ustack, bContext *C, int step) -{ - if (step == 0) { - return BKE_undosys_step_undo_with_data(ustack, C, ustack->step_active); - } - else if (step == 1) { - return BKE_undosys_step_undo(ustack, C); - } - else { - return BKE_undosys_step_redo(ustack, C); - } -} /** * Similar to #WM_operatortype_append */ diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c index f00e081261c..69e02148ba5 100644 --- a/source/blender/editors/undo/ed_undo.c +++ b/source/blender/editors/undo/ed_undo.c @@ -101,9 +101,13 @@ void ED_undo_push(bContext *C, const char *str) WM_file_tag_modified(); } -/* note: also check undo_history_exec() in bottom if you change notifiers */ +/** + * \note Also check #undo_history_exec in bottom if you change notifiers. + */ static int ed_undo_step(bContext *C, int step, const char *undoname, ReportList *reports) { + /* Mutually exclusives, ensure correct input. */ + BLI_assert((undoname && !step) || (!undoname && step)); CLOG_INFO(&LOG, 1, "name='%s', step=%d", undoname, step); wmWindowManager *wm = CTX_wm_manager(C); Scene *scene = CTX_data_scene(C); @@ -164,7 +168,12 @@ static int ed_undo_step(bContext *C, int step, const char *undoname, ReportList BKE_undosys_step_undo_with_data(wm->undo_stack, C, step_data_from_name); } else { - BKE_undosys_step_undo_compat_only(wm->undo_stack, C, step); + if (step == 1) { + BKE_undosys_step_undo(wm->undo_stack, C); + } + else { + BKE_undosys_step_redo(wm->undo_stack, C); + } } /* Set special modes for grease pencil */ |