diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-03-16 21:10:36 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-03-16 21:20:50 +0300 |
commit | b2d3956e7b497bd6d5467113bfd76614f5188ae0 (patch) | |
tree | 6aaaf5d77d50cf30762383dd4befede9db741d50 /source/blender/blenkernel/intern/blendfile.c | |
parent | db04980678ae8b2a2b3cd07bfdefa86af5c53f82 (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/blenkernel/intern/blendfile.c')
-rw-r--r-- | source/blender/blenkernel/intern/blendfile.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/blendfile.c b/source/blender/blenkernel/intern/blendfile.c index 8b472249939..c549c138ef2 100644 --- a/source/blender/blenkernel/intern/blendfile.c +++ b/source/blender/blenkernel/intern/blendfile.c @@ -227,7 +227,7 @@ static void setup_app_data( if (bfd->user) { /* only here free userdef themes... */ - BKE_blender_userdef_free(&U); + BKE_blender_userdef_free_data(&U); U = *bfd->user; @@ -425,31 +425,25 @@ bool BKE_blendfile_read_from_memfile( } /* only read the userdef from a .blend */ -int BKE_blendfile_read_userdef(const char *filepath, ReportList *reports) +UserDef *BKE_blendfile_userdef_read(const char *filepath, ReportList *reports) { BlendFileData *bfd; - int retval = BKE_BLENDFILE_READ_FAIL; + UserDef *userdef = NULL; bfd = BLO_read_from_file(filepath, reports, BLO_READ_SKIP_NONE); if (bfd) { if (bfd->user) { - retval = BKE_BLENDFILE_READ_OK_USERPREFS; - - /* only here free userdef themes... */ - BKE_blender_userdef_free(&U); - - U = *bfd->user; - MEM_freeN(bfd->user); + userdef = bfd->user; } BKE_main_free(bfd->main); MEM_freeN(bfd); } - return retval; + return userdef; } /* only write the userdef in a .blend */ -int BKE_blendfile_write_userdef(const char *filepath, ReportList *reports) +int BKE_blendfile_userdef_write(const char *filepath, ReportList *reports) { Main *mainb = MEM_callocN(sizeof(Main), "empty main"); int retval = 0; |