[Bf-blender-cvs] [cd62238c3c] app-templates: Merge branch 'master' into app-templates

Campbell Barton noreply at git.blender.org
Thu Mar 23 00:50:37 CET 2017


Commit: cd62238c3ca285269025cc12e95528bceee474c7
Author: Campbell Barton
Date:   Thu Mar 23 10:50:03 2017 +1100
Branches: app-templates
https://developer.blender.org/rBcd62238c3ca285269025cc12e95528bceee474c7

Merge branch 'master' into app-templates

===================================================================



===================================================================

diff --cc source/blender/windowmanager/intern/wm_files.c
index 17d4e521d0,241bd90bdf..63e9b41e63
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@@ -634,15 -632,13 +634,15 @@@ bool WM_file_read(bContext *C, const ch
   * Called on startup, (context entirely filled with NULLs)
   * or called for 'New File' both startup.blend and userpref.blend are checked.
   *
-  * \param from_memory: Ignore on-disk startup file, use bundled ``datatoc_startup_blend`` instead.
+  * \param use_factory_settings: Ignore on-disk startup file, use bundled ``datatoc_startup_blend`` instead.
   * Used for "Restore Factory Settings".
   * \param filepath_startup_override: Optional path pointing to an alternative blend file (may be NULL).
 + * \param app_template_override: Template to use instead of the template defined in user-preferences.
 + * When not-null, this is written into the user preferences.
   */
  int wm_homefile_read(
-         bContext *C, ReportList *reports, bool from_memory,
 -        bContext *C, ReportList *reports,
 -        bool use_factory_settings, const char *filepath_startup_override)
++        bContext *C, ReportList *reports, bool use_factory_settings,
 +        const char *filepath_startup_override, const char *app_template_override)
  {
  	ListBase wmbase;
  	char filepath_startup[FILE_MAX];
@@@ -707,43 -704,9 +708,42 @@@
  		}
  	}
  
 -	if (!use_factory_settings) {
 +	/* insert template name into startup file */
 +	if (!filepath_startup_override) {
 +		const char *app_template = NULL;
 +
 +		if (app_template_override) {
 +			app_template = app_template_override;
 +		}
- 		else if (!from_memory && U.app_template[0]) {
++		else if (!use_factory_settings && U.app_template[0]) {
 +			app_template = U.app_template;
 +		}
 +
 +		if (app_template != NULL) {
- 			if (!from_memory) {
++			if (!use_factory_settings) {
 +				BLI_path_suffix(filepath_startup, sizeof(filepath_startup), app_template, "_");
 +			}
 +
- 			if (from_memory || BLI_access(filepath_startup, R_OK)) {
++			if (use_factory_settings || BLI_access(filepath_startup, R_OK)) {
 +				char temp_path[FILE_MAX];
 +				BLI_join_dirfile(temp_path, sizeof(temp_path), "app_templates", U.app_template);
 +				const char *filepath_startup_template = BKE_appdir_folder_id(BLENDER_DATAFILES, temp_path);
 +				if (filepath_startup_template) {
- 					/* note that the path is being set even when 'from_memory == true' */
++					/* note that the path is being set even when 'use_factory_settings == true' */
 +					BLI_join_dirfile(
 +					        filepath_startup, sizeof(filepath_startup),
 +					        filepath_startup_template, BLENDER_STARTUP_FILE);
 +				}
 +			}
 +		}
 +	}
 +
- 	if (!from_memory || (filepath_startup[0] != '\0')) {
++	if (!use_factory_settings || (filepath_startup[0] != '\0')) {
  		if (BLI_access(filepath_startup, R_OK) == 0) {
  			success = (BKE_blendfile_read(C, filepath_startup, NULL, skip_flags) != BKE_BLENDFILE_READ_FAIL);
 +			if (success) {
 +				printf("Read startup: %s\n", filepath_startup);
 +			}
  		}
  		if (BLI_listbase_is_empty(&U.themes)) {
  			if (G.debug & G_DEBUG)
@@@ -1504,22 -1435,9 +1507,22 @@@ static int wm_homefile_read_exec(bConte
  		G.fileflags &= ~G_FILE_NO_UI;
  	}
  
 -	if (wm_homefile_read(C, op->reports, use_factory_settings, filepath)) {
 -		/* Load a file but keep the splash open */
 -		if (!use_factory_settings && RNA_boolean_get(op->ptr, "use_splash")) {
 +	char app_template_buf[sizeof(U.app_template)];
 +	const char *app_template;
- 	/* const bool is_app_template = !from_memory && RNA_boolean_get(op->ptr, "app_template"); */
++	/* const bool is_app_template = !use_factory_settings && RNA_boolean_get(op->ptr, "app_template"); */
 +	PropertyRNA *prop_app_template = RNA_struct_find_property(op->ptr, "app_template");
- 	const bool use_splash = !from_memory && RNA_boolean_get(op->ptr, "use_splash");
++	const bool use_splash = !use_factory_settings && RNA_boolean_get(op->ptr, "use_splash");
 +
 +	if (prop_app_template && RNA_property_is_set(op->ptr, prop_app_template)) {
 +		RNA_property_string_get(op->ptr, prop_app_template, app_template_buf);
 +		app_template = app_template_buf;
 +	}
 +	else {
 +		app_template = NULL;
 +	}
 +
- 	if (wm_homefile_read(C, op->reports, from_memory, filepath, app_template)) {
++	if (wm_homefile_read(C, op->reports, use_factory_settings, filepath, app_template)) {
 +		if (use_splash) {
  			WM_init_splash(C);
  		}
  		return OPERATOR_FINISHED;
diff --cc source/blender/windowmanager/wm_files.h
index c64e879664,048b5a997b..044fea6c3d
--- a/source/blender/windowmanager/wm_files.h
+++ b/source/blender/windowmanager/wm_files.h
@@@ -36,8 -36,8 +36,8 @@@ struct wmOperatorType
  /* wm_files.c */
  void		wm_history_file_read(void);
  int			wm_homefile_read(
-         struct bContext *C, struct ReportList *reports, bool from_memory,
 -        struct bContext *C, struct ReportList *reports,
 -        bool use_factory_settings, const char *filepath_startup_override);
++        struct bContext *C, struct ReportList *reports, bool use_factory_settings,
 +        const char *filepath_startup_override, const char *startup_template);
  void		wm_file_read_report(bContext *C);
  
  void        WM_OT_save_homefile(struct wmOperatorType *ot);




More information about the Bf-blender-cvs mailing list