[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50831] trunk/blender/source/blender/ blenkernel/intern/particle_system.c: Fix #32625 Zero area-sized faces caused jittered part.
Konrad Kleine
konrad at konradwilhelm.de
Sun Sep 23 19:50:51 CEST 2012
Revision: 50831
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50831
Author: kwk
Date: 2012-09-23 17:50:51 +0000 (Sun, 23 Sep 2012)
Log Message:
-----------
Fix #32625 Zero area-sized faces caused jittered part. distrib. to crash
When appling a particle system to a face whose area size is zero,
the jitter distribution failed. fmod() produces a NaN value in this
case. This commit simply checks if the jitter offset (I guess that is
"jitoff" means) and only call psys_uv_to_w() if it's a real floating
point number.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/particle_system.c
Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c 2012-09-23 15:05:29 UTC (rev 50830)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c 2012-09-23 17:50:51 UTC (rev 50831)
@@ -797,8 +797,10 @@
}
else {
ctx->jitoff[i] = fmod(ctx->jitoff[i],(float)ctx->jitlevel);
- psys_uv_to_w(ctx->jit[2*(int)ctx->jitoff[i]], ctx->jit[2*(int)ctx->jitoff[i]+1], mface->v4, pa->fuv);
- ctx->jitoff[i]++;
+ if (!isnan(ctx->jitoff[i])) {
+ psys_uv_to_w(ctx->jit[2*(int)ctx->jitoff[i]], ctx->jit[2*(int)ctx->jitoff[i]+1], mface->v4, pa->fuv);
+ ctx->jitoff[i]++;
+ }
}
break;
case PART_DISTR_RAND:
More information about the Bf-blender-cvs
mailing list