[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14022] trunk/blender: fix for uninitialized variables in uv stretch drawing,

Campbell Barton ideasman42 at gmail.com
Sun Mar 9 08:35:14 CET 2008


Revision: 14022
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14022
Author:   campbellbarton
Date:     2008-03-09 08:35:12 +0100 (Sun, 09 Mar 2008)

Log Message:
-----------
fix for uninitialized variables in uv stretch drawing,
[#8428] 'Editmesh_active' theme colour not accessible via Python
bugfix problem where saving a theme would raise and error when ~/.blender didnt exist.
bugfix for file selector staying open (introduced with own undo resistant scripts)

Modified Paths:
--------------
    trunk/blender/release/scripts/save_theme.py
    trunk/blender/source/blender/python/api2_2x/Window.c
    trunk/blender/source/blender/python/api2_2x/windowTheme.c
    trunk/blender/source/blender/src/drawimage.c

Modified: trunk/blender/release/scripts/save_theme.py
===================================================================
--- trunk/blender/release/scripts/save_theme.py	2008-03-09 04:06:57 UTC (rev 14021)
+++ trunk/blender/release/scripts/save_theme.py	2008-03-09 07:35:12 UTC (rev 14022)
@@ -73,7 +73,11 @@
 
 # default filename: theme's name + '_theme.py' in user's scripts dir:
 default_fname = Blender.Get("scriptsdir")
-default_fname = Blender.sys.join(default_fname, theme.name + '_theme.py')
+if (default_fname):
+	default_fname = Blender.sys.join(default_fname, theme.name + '_theme.py')
+else:
+	default_fname = theme.name + '_theme.py'
+	
 default_fname = default_fname.replace(' ','_')
 
 def write_theme(filename):

Modified: trunk/blender/source/blender/python/api2_2x/Window.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Window.c	2008-03-09 04:06:57 UTC (rev 14021)
+++ trunk/blender/source/blender/python/api2_2x/Window.c	2008-03-09 07:35:12 UTC (rev 14022)
@@ -527,8 +527,9 @@
 		}
 		else Py_DECREF(result);
 
-		if (script->py_browsercallback == pycallback)
-			script->py_browsercallback = NULL;
+		if (script->py_browsercallback == pycallback) {
+			SCRIPT_SET_NULL(script);
+		}
 		/* else another call to selector was made inside pycallback */
 
 		Py_DECREF(pycallback);
@@ -599,8 +600,12 @@
 	}
 	script->py_browsercallback = pycallback;
 
+	/* if were not running a script GUI here alredy, then dont make this script persistant */
+	if ((script->flags & SCRIPT_GUI)==0) {
+		script->scriptname[0] = '\0';
+		script->scriptarg[0] = '\0';
+	}
 	activate_fileselect( FILE_BLENDER, title, filename, getSelectedFile );
-
 	Py_RETURN_NONE;
 }
 

Modified: trunk/blender/source/blender/python/api2_2x/windowTheme.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/windowTheme.c	2008-03-09 04:06:57 UTC (rev 14021)
+++ trunk/blender/source/blender/python/api2_2x/windowTheme.c	2008-03-09 07:35:12 UTC (rev 14022)
@@ -1,5 +1,5 @@
 /* 
- * $Id: windowTheme.c 12139 2007-09-25 03:31:12Z campbellbarton $
+ * $Id$
  *
  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
  *
@@ -252,6 +252,7 @@
 		ELSEIF_TSP_RGBA( edge_select )
 		ELSEIF_TSP_RGBA( edge_seam )
 		ELSEIF_TSP_RGBA( edge_sharp )
+		ELSEIF_TSP_RGBA( editmesh_active )
 		ELSEIF_TSP_RGBA( edge_facesel )
 		ELSEIF_TSP_RGBA( face )
 		ELSEIF_TSP_RGBA( face_select )

Modified: trunk/blender/source/blender/src/drawimage.c
===================================================================
--- trunk/blender/source/blender/src/drawimage.c	2008-03-09 04:06:57 UTC (rev 14021)
+++ trunk/blender/source/blender/src/drawimage.c	2008-03-09 07:35:12 UTC (rev 14022)
@@ -583,8 +583,8 @@
 		switch (G.sima->dt_uvstretch) {
 			case SI_UVDT_STRETCH_AREA:
 			{
-				float totarea, totuvarea, areadiff, uvarea, area, col[3];
-				int uvarea_error = 0;
+				float totarea=0.0f, totuvarea=0.0f, areadiff, uvarea, area, col[3];
+
 				for (efa= em->faces.first; efa; efa= efa->next) {
 					tface= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
 					
@@ -601,16 +601,18 @@
 				}
 				
 				if (totarea==0.0 || totarea==0.0) {
-					col[0] - 1.0;
+					col[0] = 1.0;
 					col[1] = col[2] = 0.0;
 					glColor3fv(col);
 					for (efa= em->faces.first; efa; efa= efa->next) {
-						glBegin(efa->v4?GL_QUADS:GL_TRIANGLES);
-							glVertex2fv(tface->uv[0]);
-							glVertex2fv(tface->uv[1]);
-							glVertex2fv(tface->uv[2]);
-							if(efa->v4) glVertex2fv(tface->uv[3]);
-						glEnd();
+						if ((tface=(MTFace *)efa->tmp.p)) {
+							glBegin(efa->v4?GL_QUADS:GL_TRIANGLES);
+								glVertex2fv(tface->uv[0]);
+								glVertex2fv(tface->uv[1]);
+								glVertex2fv(tface->uv[2]);
+								if(efa->v4) glVertex2fv(tface->uv[3]);
+							glEnd();
+						}
 					}
 				}
 				
@@ -652,7 +654,6 @@
 					
 					if (simaFaceDraw_Check(efa, tface)) {
 						efa->tmp.p = tface;
-					
 						if (efa->v4) {
 							uvang1 = VecAngle3_2D(tface->uv[3], tface->uv[0], tface->uv[1]);
 							ang1 = VecAngle3(efa->v4->co, efa->v1->co, efa->v2->co);





More information about the Bf-blender-cvs mailing list