From 985712e5ee178789dbdf9124a896252db042ba50 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 18 Jan 2019 23:15:22 +1100 Subject: Fix loading a file saved w/ dyntopo Ensure ED_editors_init doesn't create any undo steps before the initial memfile undo is written. --- source/blender/editors/util/ed_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/editors/util') diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c index abc4f20ac71..3bd87314c12 100644 --- a/source/blender/editors/util/ed_util.c +++ b/source/blender/editors/util/ed_util.c @@ -95,16 +95,15 @@ void ED_editors_init(bContext *C) Scene *scene = CTX_data_scene(C); wmWindowManager *wm = CTX_wm_manager(C); - if (wm->undo_stack == NULL) { - wm->undo_stack = BKE_undosys_stack_create(); - } - /* This is called during initialization, so we don't want to store any reports */ ReportList *reports = CTX_wm_reports(C); int reports_flag_prev = reports->flag & ~RPT_STORE; SWAP(int, reports->flag, reports_flag_prev); + /* Don't do undo pushes when calling an operator. */ + wm->op_undo_depth++; + /* toggle on modes for objects that were saved with these enabled. for * e.g. linked objects we have to ensure that they are actually the * active object in this scene. */ @@ -177,6 +176,7 @@ void ED_editors_init(bContext *C) } SWAP(int, reports->flag, reports_flag_prev); + wm->op_undo_depth--; } /* frees all editmode stuff */ -- cgit v1.2.3