[Bf-blender-cvs] [575d3dd] master: Fix T40231: Crash with matcaps

Campbell Barton noreply at git.blender.org
Sat May 17 06:48:59 CEST 2014


Commit: 575d3dd5baf5786eacc9a0fc85cb48924ee65af3
Author: Campbell Barton
Date:   Sat May 17 14:48:10 2014 +1000
https://developer.blender.org/rB575d3dd5baf5786eacc9a0fc85cb48924ee65af3

Fix T40231: Crash with matcaps

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

M	source/blender/blenkernel/intern/cdderivedmesh.c

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

diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index ba8fe83..9df527e 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -575,11 +575,16 @@ static void cdDM_drawFacesSolid(DerivedMesh *dm,
 			new_glmode = mface->v4 ? GL_QUADS : GL_TRIANGLES;
 			new_matnr = mface->mat_nr + 1;
 			new_shademodel = (lnors || (mface->flag & ME_SMOOTH)) ? GL_SMOOTH : GL_FLAT;
-			
-			if (new_glmode != glmode || new_matnr != matnr || new_shademodel != shademodel) {
+
+
+			if ((new_glmode != glmode) || (new_shademodel != shademodel) ||
+			    (setMaterial && (new_matnr != matnr)))
+			{
 				glEnd();
 
-				drawCurrentMat = setMaterial(matnr = new_matnr, NULL);
+				if (setMaterial) {
+					drawCurrentMat = setMaterial(matnr = new_matnr, NULL);
+				}
 
 				glShadeModel(shademodel = new_shademodel);
 				glBegin(glmode = new_glmode);




More information about the Bf-blender-cvs mailing list