[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36170] trunk/blender/source/blender/ render/intern/source/convertblender.c: fix [#26933] Render Crash with Decimate Modifier

Campbell Barton ideasman42 at gmail.com
Thu Apr 14 19:22:05 CEST 2011


Revision: 36170
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36170
Author:   campbellbarton
Date:     2011-04-14 17:22:05 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
fix [#26933] Render Crash with Decimate Modifier

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2011-04-14 17:06:55 UTC (rev 36169)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2011-04-14 17:22:05 UTC (rev 36170)
@@ -541,18 +541,19 @@
 	SRenderMeshToTangent * pMesh = (SRenderMeshToTangent *) pContext->m_pUserData;
 	VlakRen *vlr= RE_findOrAddVlak(pMesh->obr, face_num);
 	MTFace *tface= RE_vlakren_get_tface(pMesh->obr, vlr, pMesh->obr->actmtface, NULL, 0);
+	const float *coord;
 	
 	if(tface!=NULL)
 	{
-		float * pTexCo = tface->uv[vert_index];
-		fUV[0]=pTexCo[0]; fUV[1]=pTexCo[1];
+		coord= tface->uv[vert_index];
+		fUV[0]= coord[0]; fUV[1]= coord[1];
 	}
-	else
-	{
-		const float *orco= (&vlr->v1)[vert_index]->orco;
-		map_to_sphere(&fUV[0], &fUV[1], orco[0], orco[1], orco[2]);
-
+	else if(1 || (coord= (&vlr->v1)[vert_index]->orco)) {
+		map_to_sphere(&fUV[0], &fUV[1], coord[0], coord[1], coord[2]);
 	}
+	else { /* else we get un-initialized value, 0.0 ok default? */
+		fUV[0]= fUV[1]= 0.0f;
+	}
 }
 
 static void GetNormal(const SMikkTSpaceContext * pContext, float fNorm[], const int face_num, const int vert_index)




More information about the Bf-blender-cvs mailing list