[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60009] trunk/blender/source/blender: startup.blend: add a function BLO_update_defaults_startup_blend to change
Brecht Van Lommel
brechtvanlommel at pandora.be
Tue Sep 10 15:25:35 CEST 2013
Revision: 60009
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60009
Author: blendix
Date: 2013-09-10 13:25:35 +0000 (Tue, 10 Sep 2013)
Log Message:
-----------
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.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_blender.h
trunk/blender/source/blender/blenkernel/intern/blender.c
trunk/blender/source/blender/blenloader/BLO_readfile.h
trunk/blender/source/blender/blenloader/CMakeLists.txt
trunk/blender/source/blender/windowmanager/intern/wm_files.c
Added Paths:
-----------
trunk/blender/source/blender/blenloader/intern/versioning_defaults.c
Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h 2013-09-10 13:25:33 UTC (rev 60008)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h 2013-09-10 13:25:35 UTC (rev 60009)
@@ -69,8 +69,10 @@
#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 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
}
Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c 2013-09-10 13:25:33 UTC (rev 60008)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c 2013-09-10 13:25:35 UTC (rev 60009)
@@ -462,13 +462,16 @@
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: ");
Modified: trunk/blender/source/blender/blenloader/BLO_readfile.h
===================================================================
--- trunk/blender/source/blender/blenloader/BLO_readfile.h 2013-09-10 13:25:33 UTC (rev 60008)
+++ trunk/blender/source/blender/blenloader/BLO_readfile.h 2013-09-10 13:25:35 UTC (rev 60009)
@@ -265,7 +265,10 @@
* \param mainvar the Main database to expand
*/
void BLO_expand_main(void *fdhandle, struct Main *mainvar);
-
+
+/* Update defaults in startup.blend, without having to save and embed it */
+void BLO_update_defaults_startup_blend(struct Main *mainvar);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/blender/source/blender/blenloader/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenloader/CMakeLists.txt 2013-09-10 13:25:33 UTC (rev 60008)
+++ trunk/blender/source/blender/blenloader/CMakeLists.txt 2013-09-10 13:25:35 UTC (rev 60009)
@@ -46,6 +46,7 @@
intern/runtime.c
intern/undofile.c
intern/versioning_250.c
+ intern/versioning_defaults.c
intern/versioning_legacy.c
intern/writefile.c
Added: trunk/blender/source/blender/blenloader/intern/versioning_defaults.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/versioning_defaults.c (rev 0)
+++ trunk/blender/source/blender/blenloader/intern/versioning_defaults.c 2013-09-10 13:25:35 UTC (rev 60009)
@@ -0,0 +1,42 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Blender Foundation
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ *
+ */
+
+/** \file blender/blenloader/intern/versioning_defaults.c
+ * \ingroup blenloader
+ */
+
+#include "BLI_utildefines.h"
+
+#include "DNA_scene_types.h"
+#include "DNA_userdef_types.h"
+
+#include "BKE_main.h"
+
+#include "BLO_readfile.h"
+
+/* Update defaults in startup.blend, without having to save and embed the file.
+ * This function can be emptied each time the startup.blend is updated. */
+void BLO_update_defaults_startup_blend(Main *main)
+{
+}
+
Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c 2013-09-10 13:25:33 UTC (rev 60008)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c 2013-09-10 13:25:35 UTC (rev 60009)
@@ -554,7 +554,7 @@
}
if (success == 0) {
- success = BKE_read_file_from_memory(C, datatoc_startup_blend, datatoc_startup_blend_size, NULL);
+ success = BKE_read_file_from_memory(C, datatoc_startup_blend, datatoc_startup_blend_size, NULL, true);
if (wmbase.first == NULL) wm_clear_default_size(C);
BLI_init_temporary_dir(U.tempdir);
More information about the Bf-blender-cvs
mailing list