[Bf-blender-cvs] [46c7d45f774] master: Fix T51889: broken UI after File > New without a userpref.blend.
Brecht Van Lommel
noreply at git.blender.org
Mon Jul 3 02:28:45 CEST 2017
Commit: 46c7d45f7748f70c677fb892255beabc10f3cac2
Author: Brecht Van Lommel
Date: Mon Jul 3 02:24:40 2017 +0200
Branches: master
https://developer.blender.org/rB46c7d45f7748f70c677fb892255beabc10f3cac2
Fix T51889: broken UI after File > New without a userpref.blend.
BLO_update_defaults_userpref_blend() was being run when no user preferences
were loaded from memory.
===================================================================
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 379772d5175..ae0b687a21a 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -316,7 +316,7 @@ 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(bContext *C, const bool read_userdef_from_memory)
{
Main *bmain = CTX_data_main(C);
@@ -336,7 +336,7 @@ static void wm_init_userdef(bContext *C, const bool use_factory_settings)
}
/* avoid re-saving for every small change to our prefs, allow overrides */
- if (use_factory_settings) {
+ if (read_userdef_from_memory) {
BLO_update_defaults_userpref_blend();
}
@@ -667,7 +667,7 @@ int wm_homefile_read(
*
* And in this case versioning code is to be run.
*/
- bool read_userdef_from_memory = true;
+ bool read_userdef_from_memory = false;
eBLOReadSkip skip_flags = 0;
/* options exclude eachother */
@@ -713,7 +713,6 @@ int wm_homefile_read(
BKE_blender_userdef_set_data(userdef);
MEM_freeN(userdef);
- read_userdef_from_memory = false;
skip_flags |= BLO_READ_SKIP_USERDEF;
printf("Read prefs: %s\n", filepath_userdef);
}
@@ -775,6 +774,9 @@ int wm_homefile_read(
success = BKE_blendfile_read_from_memory(
C, datatoc_startup_blend, datatoc_startup_blend_size,
NULL, skip_flags, true);
+ if (success && !(skip_flags & BLO_READ_SKIP_USERDEF)) {
+ read_userdef_from_memory = true;
+ }
if (BLI_listbase_is_empty(&wmbase)) {
wm_clear_default_size(C);
}
@@ -810,6 +812,7 @@ int wm_homefile_read(
/* we need to have preferences load to overwrite preferences from previous template */
userdef_template = BKE_blendfile_userdef_read_from_memory(
datatoc_startup_blend, datatoc_startup_blend_size, NULL);
+ read_userdef_from_memory = true;
}
if (userdef_template) {
BKE_blender_userdef_set_app_template(userdef_template);
More information about the Bf-blender-cvs
mailing list