diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-10 17:25:35 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-10 17:25:35 +0400 |
commit | b5e1c48ca769bd83434d3686569fa36c50dbd9cb (patch) | |
tree | 6cc8d87bd7941791cf8b4487f3c5d317886e1e56 /source/blender/blenkernel | |
parent | f40566e5a4ad1ffd522a597d13d73527f804baf5 (diff) |
startup.blend: add a function BLO_update_defaults_startup_blend to change
default settings in the startup.blend without having to actually save and embed
the file, which can be a tricky process and is problematic in branches and
patches.
This function can be emptied each time a new startup.blend is committed.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_blender.h | 10 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 7 |
2 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 6507999e9db..519d0c7fd6b 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -69,8 +69,10 @@ int BKE_read_file(struct bContext *C, const char *filepath, struct ReportList *r #define BKE_READ_FILE_OK 1 /* OK */ #define BKE_READ_FILE_OK_USERPREFS 2 /* OK, and with new user settings */ -int BKE_read_file_from_memory(struct bContext *C, const void *filebuf, int filelength, struct ReportList *reports); -int BKE_read_file_from_memfile(struct bContext *C, struct MemFile *memfile, struct ReportList *reports); +int BKE_read_file_from_memory(struct bContext *C, const void *filebuf, + int filelength, struct ReportList *reports, int update_defaults); +int BKE_read_file_from_memfile(struct bContext *C, struct MemFile *memfile, + struct ReportList *reports); int BKE_read_file_userdef(const char *filepath, struct ReportList *reports); int BKE_write_file_userdef(const char *filepath, struct ReportList *reports); @@ -100,11 +102,11 @@ extern const char *BKE_undo_get_name(int nr, int *active); extern int BKE_undo_save_file(const char *filename); extern struct Main *BKE_undo_get_main(struct Scene **scene); - /* copybuffer */ +/* copybuffer */ void BKE_copybuffer_begin(void); void BKE_copybuffer_tag_ID(struct ID *id); int BKE_copybuffer_save(const char *filename, struct ReportList *reports); - int BKE_copybuffer_paste(struct bContext *C, const char *libname, struct ReportList *reports); +int BKE_copybuffer_paste(struct bContext *C, const char *libname, struct ReportList *reports); #ifdef __cplusplus } diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 3fbdba351b0..5ef39e8d48e 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -462,13 +462,16 @@ int BKE_read_file(bContext *C, const char *filepath, ReportList *reports) return (bfd ? retval : BKE_READ_FILE_FAIL); } -int BKE_read_file_from_memory(bContext *C, const void *filebuf, int filelength, ReportList *reports) +int BKE_read_file_from_memory(bContext *C, const void *filebuf, int filelength, ReportList *reports, int update_defaults) { BlendFileData *bfd; bfd = BLO_read_from_memory(filebuf, filelength, reports); - if (bfd) + if (bfd) { + if (update_defaults) + BLO_update_defaults_startup_blend(bfd->main); setup_app_data(C, bfd, "<memory2>"); + } else BKE_reports_prepend(reports, "Loading failed: "); |