Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-10-02 18:02:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-10-03 00:25:36 +0300
commit8cd8b3e9bda443ec8f560117d93a4f06fe91cb11 (patch)
tree85da60d080519404fc18fc63d17ca733d75ae4a3 /source/blender/windowmanager/intern/wm_files.c
parentb13459f9e585bcb0e4ba61e391e59a888f5042f2 (diff)
readfile: always run setup_app_data after updating defaults
When blend files were loaded with app-templates, setup_app_data was running before defaults were updated. This is likely to cause problems with order of initialization so always update the startup file beforehand.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files.c')
-rw-r--r--source/blender/windowmanager/intern/wm_files.c40
1 files changed, 19 insertions, 21 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 3f58ba9e5a0..44367969ed7 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -1034,20 +1034,17 @@ void wm_homefile_read(bContext *C,
if (!use_factory_settings || (filepath_startup[0] != '\0')) {
if (BLI_access(filepath_startup, R_OK) == 0) {
- success = BKE_blendfile_read(C,
- filepath_startup,
- &(const struct BlendFileReadParams){
- .is_startup = true,
- .skip_flags = skip_flags | BLO_READ_SKIP_USERDEF,
- },
- NULL);
+ success = BKE_blendfile_read_ex(C,
+ filepath_startup,
+ &(const struct BlendFileReadParams){
+ .is_startup = true,
+ .skip_flags = skip_flags | BLO_READ_SKIP_USERDEF,
+ },
+ NULL,
+ update_defaults && use_data,
+ app_template);
}
if (success) {
- if (update_defaults) {
- if (use_data) {
- BLO_update_defaults_startup_blend(CTX_data_main(C), app_template);
- }
- }
is_factory_startup = filepath_startup_is_factory;
}
}
@@ -1066,15 +1063,16 @@ void wm_homefile_read(bContext *C,
}
if (success == false) {
- success = BKE_blendfile_read_from_memory(C,
- datatoc_startup_blend,
- datatoc_startup_blend_size,
- true,
- &(const struct BlendFileReadParams){
- .is_startup = true,
- .skip_flags = skip_flags,
- },
- NULL);
+ success = BKE_blendfile_read_from_memory_ex(C,
+ datatoc_startup_blend,
+ datatoc_startup_blend_size,
+ &(const struct BlendFileReadParams){
+ .is_startup = true,
+ .skip_flags = skip_flags,
+ },
+ NULL,
+ true,
+ NULL);
if (use_data && BLI_listbase_is_empty(&wmbase)) {
wm_clear_default_size(C);