[Bf-blender-cvs] [3f82e82] master: Correction to fix of T37688

Sergey Sharybin noreply at git.blender.org
Thu Dec 5 20:12:21 CET 2013


Commit: 3f82e829e5e014002913181e4738367d96af34b7
Author: Sergey Sharybin
Date:   Fri Dec 6 01:10:16 2013 +0600
http://developer.blender.org/rB3f82e829e5e014002913181e4738367d96af34b7

Correction to fix of T37688

rB68d39a262c90 didn't check correct file for doing
versioning code. It shall check userprefs.blend not
startup.blend.

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

M	source/blender/windowmanager/intern/wm_files.c

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

diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index efbc0d7..5939128 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -526,16 +526,16 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c
 	char prefstr[FILE_MAX];
 	int success = 0;
 
-	/* Indicates whether file was really load from memory.
+	/* Indicates whether user prefereneces were really load from memory.
 	 *
 	 * This is used for versioning code, and for this we can not rely on from_memory
 	 * passed via argument. This is because there might be configuration folder
-	 * exists but it might not have startup.blend and in this case we fallback to
+	 * exists but it might not have userpref.blend and in this case we fallback to
 	 * reading home file from memory.
 	 *
 	 * And in this case versioning code is to be run.
 	 */
-	bool read_file_from_memory = false;
+	bool read_userdef_from_memory = true;
 
 	/* options exclude eachother */
 	BLI_assert((from_memory && custom_file) == 0);
@@ -589,7 +589,6 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c
 	}
 
 	if (success == 0) {
-		read_file_from_memory = true;
 		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);
@@ -604,7 +603,10 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c
 	/* check new prefs only after startup.blend was finished */
 	if (!from_memory && BLI_exists(prefstr)) {
 		int done = BKE_read_file_userdef(prefstr, NULL);
-		if (done) printf("Read new prefs: %s\n", prefstr);
+		if (done) {
+			read_userdef_from_memory = false;
+			printf("Read new prefs: %s\n", prefstr);
+		}
 	}
 	
 	/* prevent buggy files that had G_FILE_RELATIVE_REMAP written out by mistake. Screws up autosaves otherwise
@@ -612,7 +614,7 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c
 	G.fileflags &= ~G_FILE_RELATIVE_REMAP;
 	
 	/* check userdef before open window, keymaps etc */
-	wm_init_userdef(C, read_file_from_memory);
+	wm_init_userdef(C, read_userdef_from_memory);
 	
 	/* match the read WM with current WM */
 	wm_window_match_do(C, &wmbase);




More information about the Bf-blender-cvs mailing list