From bfbd85e9d66be3793e51ef989f793bdd69214493 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 6 Jun 2018 09:36:50 +0200 Subject: Fix error using freed bmain Regression in 481cdb08ed6f3 --- source/blender/blenkernel/intern/blender_undo.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenkernel/intern/blender_undo.c b/source/blender/blenkernel/intern/blender_undo.c index c3306b16041..df2caba0208 100644 --- a/source/blender/blenkernel/intern/blender_undo.c +++ b/source/blender/blenkernel/intern/blender_undo.c @@ -82,13 +82,14 @@ bool BKE_memfile_undo_decode(MemFileUndoData *mfu, bContext *C) success = BKE_blendfile_read_from_memfile(C, &mfu->memfile, NULL, 0); } - /* restore */ - BLI_strncpy(bmain->name, mainstr, sizeof(bmain->name)); /* restore */ + /* Restore, bmain has been re-allocated. */ + bmain = CTX_data_main(C); + BLI_strncpy(bmain->name, mainstr, sizeof(bmain->name)); G.fileflags = fileflags; if (success) { /* important not to update time here, else non keyed tranforms are lost */ - DAG_on_visible_update(G.main, false); + DAG_on_visible_update(bmain, false); } return success; -- cgit v1.2.3