diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-05-05 12:09:21 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-05-05 12:20:53 +0300 |
commit | da48defcfacd535f21542f40cee4730382ed6b85 (patch) | |
tree | a1981e67147cde5d3edfa60d20bf05130cadf7e6 /source/blender | |
parent | 36ad59b550a29767c2a380c1e6feeb28b1826bc3 (diff) |
Fix T76402: App templates prevent factory settings theme reset
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index f2050befac1..446449455dd 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -956,20 +956,20 @@ void wm_homefile_read(bContext *C, } } + if (use_userdef) { + if ((skip_flags & BLO_READ_SKIP_USERDEF) == 0) { + UserDef *userdef_default = BKE_blendfile_userdef_from_defaults(); + BKE_blender_userdef_data_set_and_free(userdef_default); + skip_flags |= BLO_READ_SKIP_USERDEF; + } + } + if (success == false && filepath_startup_override && reports) { /* We can not return from here because wm is already reset */ BKE_reportf(reports, RPT_ERROR, "Could not read '%s'", filepath_startup_override); } if (success == false) { - if (use_userdef) { - if ((skip_flags & BLO_READ_SKIP_USERDEF) == 0) { - UserDef *userdef_default = BKE_blendfile_userdef_from_defaults(); - BKE_blender_userdef_data_set_and_free(userdef_default); - skip_flags |= BLO_READ_SKIP_USERDEF; - } - } - success = BKE_blendfile_read_from_memory(C, datatoc_startup_blend, datatoc_startup_blend_size, @@ -1959,9 +1959,11 @@ static int wm_homefile_read_exec(bContext *C, wmOperator *op) RNA_property_string_get(op->ptr, prop_app_template, app_template_buf); app_template = app_template_buf; - /* Always load preferences when switching templates with own preferences. */ - use_userdef = BKE_appdir_app_template_has_userpref(app_template) || - BKE_appdir_app_template_has_userpref(U.app_template); + if (!use_factory_settings) { + /* Always load preferences when switching templates with own preferences. */ + use_userdef = BKE_appdir_app_template_has_userpref(app_template) || + BKE_appdir_app_template_has_userpref(U.app_template); + } /* Turn override off, since we're explicitly loading a different app-template. */ WM_init_state_app_template_set(NULL); |