[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54534] trunk/blender/source/blender: Fix for splitting startup and userpref:

Ton Roosendaal ton at blender.org
Wed Feb 13 17:52:14 CET 2013


Revision: 54534
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54534
Author:   ton
Date:     2013-02-13 16:52:14 +0000 (Wed, 13 Feb 2013)
Log Message:
-----------
Fix for splitting startup and userpref:

The do-version handling for Userdef is outside file reading, which makes
it needed to store the file version in UserDef, so it gets the correct
version to handle.

Thanks Antonis R. for pointing at the omission!

Also removed the mindboggling define. If you do such, then make it
like "MAIN_VERSION_OLDER_THAN() or so.

In general version hacking could be limited much better... ask me
before even thinking to add one, most optimal is to do it in a way
it's not depending on a version ever - forward/backward compatible.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-02-13 16:46:18 UTC (rev 54533)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-02-13 16:52:14 UTC (rev 54534)
@@ -8881,6 +8881,10 @@
 	
 	bfd->user = user= read_struct(fd, bhead, "user def");
 	
+	/* User struct has separate do-version handling */
+	user->versionfile = bfd->main->versionfile;
+	user->subversionfile = bfd->main->subversionfile;
+	
 	/* read all data into fd->datamap */
 	bhead = read_data_into_oldnewmap(fd, bhead, "user def");
 	

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2013-02-13 16:46:18 UTC (rev 54533)
+++ trunk/blender/source/blender/editors/interface/resources.c	2013-02-13 16:52:14 UTC (rev 54534)
@@ -1322,7 +1322,6 @@
 void init_userdef_do_versions(void)
 {
 	Main *bmain = G.main;
-//	countall();
 	
 	/* the UserDef struct is not corrected with do_versions() .... ugh! */
 	if (U.wheellinescroll == 0) U.wheellinescroll = 3;
@@ -2096,7 +2095,8 @@
 		}
 	}
 
-	if (bmain->versionfile < 266) {
+	/* NOTE!! from now on use U.versionfile and U.subversionfile */
+	if (U.versionfile < 266) {
 		bTheme *btheme;
 		
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
@@ -2108,7 +2108,7 @@
 		}
 	}
 
-	if (!MAIN_VERSION_ATLEAST(bmain, 265, 4)) {
+	if (U.versionfile < 265 || (U.versionfile == 265 && U.subversionfile < 4)) {
 		bTheme *btheme;
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 			rgba_char_args_set(btheme->text.syntaxd,    50, 0, 140, 255);   /* Decorator/Preprocessor Dir.  Blue-purple */
@@ -2117,14 +2117,14 @@
 		}
 	}
 
-	if (!MAIN_VERSION_ATLEAST(bmain, 265, 6)) {
+	if (U.versionfile < 265 || (U.versionfile == 265 && U.subversionfile < 6)) {
 		bTheme *btheme;
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 			copy_v4_v4_char(btheme->tv3d.gradients.high_gradient, btheme->tv3d.back);
 		}
 	}
 
-	if (!MAIN_VERSION_ATLEAST(bmain, 265, 9)) {
+	if (U.versionfile < 265 || (U.versionfile == 265 && U.subversionfile < 9)) {
 		bTheme *btheme;
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 			rgba_char_args_test_set(btheme->tnode.syntaxs, 151, 116, 116, 255);  /* matte nodes */
@@ -2132,6 +2132,9 @@
 		}
 	}
 
+	/* NOTE!! from now on use U.versionfile and U.subversionfile */
+	
+	
 	if (U.pixelsize == 0.0f)
 		U.pixelsize = 1.0f;
 	

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2013-02-13 16:46:18 UTC (rev 54533)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2013-02-13 16:52:14 UTC (rev 54534)
@@ -364,6 +364,9 @@
 } SolidLight;
 
 typedef struct UserDef {
+	/* UserDef has separate do-version handling, and can be read from other files */
+	int versionfile, subversionfile;
+	
 	int flag, dupflag;
 	int savetime;
 	char tempdir[768];	/* FILE_MAXDIR length */




More information about the Bf-blender-cvs mailing list