[Bf-blender-cvs] [d0f4a4fc675] workspaces: Fix crash opening startup.blend as regular .blend (again)
Julian Eisel
noreply at git.blender.org
Sun May 7 02:03:35 CEST 2017
Commit: d0f4a4fc6752bd244392bbab01b7c6aa8d1382d6
Author: Julian Eisel
Date: Sun May 7 02:00:21 2017 +0200
Branches: workspaces
https://developer.blender.org/rBd0f4a4fc6752bd244392bbab01b7c6aa8d1382d6
Fix crash opening startup.blend as regular .blend (again)
Earlier fix could cause issues and was reverted in rBfc601d8eaa79a7.
Fixed now by avoiding CTX_ call when context hasn't been setup
completely yet.
I think it's fine to assume G.main equals CTX_data_main call at this point.
===================================================================
M source/blender/windowmanager/intern/wm_files.c
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index b7821a24fa9..203d5d1c18f 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -326,10 +326,8 @@ static void wm_window_match_do(bContext *C, ListBase *oldwmlist)
}
/* in case UserDef was read, we re-initialize all, and do versioning */
-static void wm_init_userdef(bContext *C, const bool use_factory_settings)
+static void wm_init_userdef(Main *bmain, const bool use_factory_settings)
{
- Main *bmain = CTX_data_main(C);
-
/* versioning is here */
UI_init_userdef();
@@ -591,7 +589,7 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports)
if (retval == BKE_BLENDFILE_READ_OK_USERPREFS) {
/* in case a userdef is read from regular .blend */
- wm_init_userdef(C, false);
+ wm_init_userdef(G.main, false);
}
if (retval != BKE_BLENDFILE_READ_FAIL) {
@@ -837,7 +835,7 @@ int wm_homefile_read(
G.fileflags &= ~G_FILE_RELATIVE_REMAP;
/* check userdef before open window, keymaps etc */
- wm_init_userdef(C, read_userdef_from_memory);
+ wm_init_userdef(CTX_data_main(C), read_userdef_from_memory);
/* match the read WM with current WM */
wm_window_match_do(C, &wmbase);
More information about the Bf-blender-cvs
mailing list