[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32320] trunk/blender/source/blender: - fix for crash when drawing a subsurf after a modifier that lost original indices (bevel/screw/decimate)
Campbell Barton
ideasman42 at gmail.com
Tue Oct 5 13:16:07 CEST 2010
Revision: 32320
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32320
Author: campbellbarton
Date: 2010-10-05 13:16:07 +0200 (Tue, 05 Oct 2010)
Log Message:
-----------
- fix for crash when drawing a subsurf after a modifier that lost original indices (bevel/screw/decimate)
- fix for own mistake used madd_v3_v3fl rather then mul_v3_v3fl, r32241.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
trunk/blender/source/blender/editors/space_view3d/drawmesh.c
trunk/blender/source/blender/gpu/intern/gpu_draw.c
Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2010-10-05 10:45:54 UTC (rev 32319)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2010-10-05 11:16:07 UTC (rev 32320)
@@ -1619,8 +1619,10 @@
if(drawParams)
flag = drawParams(tf, mcol, mat_nr);
+ else if(index != ORIGINDEX_NONE)
+ flag= (drawParamsMapped)? drawParamsMapped(userData, index): 1;
else
- flag= (drawParamsMapped)? drawParamsMapped(userData, index): 1;
+ flag= 1;
if (flag == 0) { /* flag 0 == the face is hidden or invisible */
if(tf) tf += gridFaces*gridFaces*numVerts;
Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c 2010-10-05 10:45:54 UTC (rev 32319)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c 2010-10-05 11:16:07 UTC (rev 32320)
@@ -523,7 +523,7 @@
MCol *mcol;
int matnr;
- if (efa==NULL || efa->h)
+ if (efa->h)
return 0;
tface = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_draw.c 2010-10-05 10:45:54 UTC (rev 32319)
+++ trunk/blender/source/blender/gpu/intern/gpu_draw.c 2010-10-05 11:16:07 UTC (rev 32320)
@@ -911,10 +911,10 @@
}
}
else {
- madd_v3_v3fl(smat->diff, &bmat->r, bmat->ref + bmat->emit);
+ mul_v3_v3fl(smat->diff, &bmat->r, bmat->ref + bmat->emit);
smat->diff[3]= 1.0; /* caller may set this to bmat->alpha */
- madd_v3_v3fl(smat->spec, &bmat->specr, bmat->spec);
+ mul_v3_v3fl(smat->spec, &bmat->specr, bmat->spec);
smat->spec[3]= 1.0; /* always 1 */
smat->hard= CLAMPIS(bmat->har, 0, 128);
@@ -1043,10 +1043,10 @@
memset(&GMS, 0, sizeof(GMS));
- madd_v3_v3fl(diff, &defmaterial.r, defmaterial.ref + defmaterial.emit);
+ mul_v3_v3fl(diff, &defmaterial.r, defmaterial.ref + defmaterial.emit);
diff[3]= 1.0;
- madd_v3_v3fl(spec, &defmaterial.specr, defmaterial.spec);
+ mul_v3_v3fl(spec, &defmaterial.specr, defmaterial.spec);
spec[3]= 1.0;
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diff);
@@ -1286,7 +1286,7 @@
}
/* setup energy */
- madd_v3_v3fl(energy, &la->r, la->energy);
+ mul_v3_v3fl(energy, &la->r, la->energy);
energy[3]= 1.0;
glLightfv(GL_LIGHT0+count, GL_DIFFUSE, energy);
More information about the Bf-blender-cvs
mailing list