[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30243] trunk/blender/source/blender/ blenkernel/intern/particle.c: fix for crash when psys_get_dupli_texture() was called on a subsurf mesh with simplify enabled.

Campbell Barton ideasman42 at gmail.com
Mon Jul 12 22:35:10 CEST 2010


Revision: 30243
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30243
Author:   campbellbarton
Date:     2010-07-12 22:35:10 +0200 (Mon, 12 Jul 2010)

Log Message:
-----------
fix for crash when psys_get_dupli_texture() was called on a subsurf mesh with simplify enabled.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2010-07-12 20:34:45 UTC (rev 30242)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2010-07-12 20:35:10 UTC (rev 30243)
@@ -4257,9 +4257,14 @@
 			num= pa->num_dmcache;
 
 			if(num == DMCACHE_NOTFOUND)
-				if(pa->num < psmd->dm->getNumFaces(psmd->dm))
-					num= pa->num;
+				num= pa->num;
 
+			if (num >= psmd->dm->getNumFaces(psmd->dm)) {
+				/* happens when simplify is enabled
+				 * gives invalid coords but would crash otherwise */
+				num= DMCACHE_NOTFOUND;
+			}
+
 			if(mtface && num != DMCACHE_NOTFOUND) {
 				mface= psmd->dm->getFaceData(psmd->dm, num, CD_MFACE);
 				mtface += num;





More information about the Bf-blender-cvs mailing list