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>2017-03-16 21:10:36 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-03-16 21:20:50 +0300
commitb2d3956e7b497bd6d5467113bfd76614f5188ae0 (patch)
tree6aaaf5d77d50cf30762383dd4befede9db741d50 /source/blender/windowmanager
parentdb04980678ae8b2a2b3cd07bfdefa86af5c53f82 (diff)
Add support for loading preference struct
Previously it would always load into 'U' global. Needed for loading & merging template preferences.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_files.c9
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index f218fce1be3..c5b3d02cbb0 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -697,8 +697,11 @@ int wm_homefile_read(
/* load preferences before startup.blend */
if (!from_memory && BLI_exists(filepath_userdef)) {
- int done = BKE_blendfile_read_userdef(filepath_userdef, NULL);
- if (done != BKE_BLENDFILE_READ_FAIL) {
+ UserDef *userdef = BKE_blendfile_userdef_read(filepath_userdef, NULL);
+ if (userdef != NULL) {
+ 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);
@@ -1365,7 +1368,7 @@ static int wm_userpref_write_exec(bContext *C, wmOperator *op)
BLI_make_file_string("/", filepath, BKE_appdir_folder_id_create(BLENDER_USER_CONFIG, NULL), BLENDER_USERPREF_FILE);
printf("trying to save userpref at %s ", filepath);
- if (BKE_blendfile_write_userdef(filepath, op->reports) == 0) {
+ if (BKE_blendfile_userdef_write(filepath, op->reports) == 0) {
printf("fail\n");
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 227e62d26d3..be74a0c7362 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -572,7 +572,7 @@ void WM_exit_ext(bContext *C, const bool do_python)
ED_file_exit(); /* for fsmenu */
UI_exit();
- BKE_blender_userdef_free(&U);
+ BKE_blender_userdef_free_data(&U);
RNA_exit(); /* should be after BPY_python_end so struct python slots are cleared */