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>2014-05-08 00:35:38 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-05-08 00:36:43 +0400
commitd964bad67b37b64746d42ca01c03f4e404008dde (patch)
treeaaa37f314d176739583bb938aeb0dae3bce6b702 /source/blender/blenkernel/intern/blender.c
parent65d54f34b13ddd815fdffad85b3e3e0ab542c0b1 (diff)
Fix for crash when userprefs fails to read.
Diffstat (limited to 'source/blender/blenkernel/intern/blender.c')
-rw-r--r--source/blender/blenkernel/intern/blender.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 3d323db2623..8b87f5b0cea 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -500,20 +500,22 @@ int BKE_read_file_from_memfile(bContext *C, MemFile *memfile, ReportList *report
int BKE_read_file_userdef(const char *filepath, ReportList *reports)
{
BlendFileData *bfd;
- int retval = 0;
-
+ int retval = BKE_READ_FILE_FAIL;
+
bfd = BLO_read_from_file(filepath, reports);
- if (bfd->user) {
- retval = BKE_READ_FILE_OK_USERPREFS;
-
- /* only here free userdef themes... */
- BKE_userdef_free();
-
- U = *bfd->user;
- MEM_freeN(bfd->user);
+ if (bfd) {
+ if (bfd->user) {
+ retval = BKE_READ_FILE_OK_USERPREFS;
+
+ /* only here free userdef themes... */
+ BKE_userdef_free();
+
+ U = *bfd->user;
+ MEM_freeN(bfd->user);
+ }
+ BKE_main_free(bfd->main);
+ MEM_freeN(bfd);
}
- BKE_main_free(bfd->main);
- MEM_freeN(bfd);
return retval;
}