diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-04-26 14:12:03 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-04-26 14:12:03 +0400 |
commit | b757e5c944a37d1698cf73d2a973940c8efe5a3e (patch) | |
tree | 27e8329c68a45cd31dbae9c3752280a4d2b410a9 /source | |
parent | 2785bc1aefc0e8fb69a940e0fa70769bc2db4eab (diff) |
Fix #22086 and #22125: crashes due to editmode being set on load/undo, fixes
are simple enough, though may still revert this feature if it turns out there
are more problems.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 5 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 71c09917c46..f7dcbee79be 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -3897,6 +3897,11 @@ static void direct_link_object(FileData *fd, Object *ob) /* weak weak... this was only meant as draw flag, now is used in give_base too */ ob->flag &= ~OB_FROMGROUP; + + /* loading saved files with editmode enabled works, but for undo we like + to stay in object mode during undo presses so keep editmode disabled */ + if(fd->memfile) + ob->mode &= ~(OB_MODE_EDIT|OB_MODE_PARTICLE_EDIT); ob->disp.first=ob->disp.last= NULL; diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index b6126da33a2..20fb456b3aa 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -369,6 +369,8 @@ int WM_read_homefile(bContext *C, wmOperator *op) // undo_editmode_clear(); BKE_reset_undo(); BKE_write_undo(C, "original"); /* save current state */ + + ED_editors_init(C); WM_event_add_notifier(C, NC_WM|ND_FILEREAD, NULL); CTX_wm_window_set(C, NULL); /* exits queues */ |