diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-02-11 19:43:09 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-02-11 19:43:09 +0400 |
commit | a867fbf02614892aaccbe610c4e2542dc01e1415 (patch) | |
tree | cbad5a664a37b29d7890fff34919cd16112f0ea0 /source/blender/blenkernel/intern | |
parent | 5da828317a5e93e282a55a05630de54befa7e4c5 (diff) |
check for divide by zero for dynamic paint modifier.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/dynamicpaint.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/dynamicpaint.c b/source/blender/blenkernel/intern/dynamicpaint.c index c92c52a7651..685d66195c7 100644 --- a/source/blender/blenkernel/intern/dynamicpaint.c +++ b/source/blender/blenkernel/intern/dynamicpaint.c @@ -2379,7 +2379,8 @@ int dynamicPaint_createUVSurface(DynamicPaintSurface *surface) dot11 = d2[0] * d2[0] + d2[1] * d2[1]; dot12 = d2[0] * d3[0] + d2[1] * d3[1]; - invDenom = 1 / (dot00 * dot11 - dot01 * dot01); + invDenom = (dot00 * dot11 - dot01 * dot01); + invDenom = invDenom ? 1.0f / invDenom : 1.0f; u = (dot11 * dot02 - dot01 * dot12) * invDenom; v = (dot00 * dot12 - dot01 * dot02) * invDenom; @@ -2399,7 +2400,8 @@ int dynamicPaint_createUVSurface(DynamicPaintSurface *surface) dot11 = d2[0] * d2[0] + d2[1] * d2[1]; dot12 = d2[0] * d3[0] + d2[1] * d3[1]; - invDenom = 1 / (dot00 * dot11 - dot01 * dot01); + invDenom = (dot00 * dot11 - dot01 * dot01); + invDenom = invDenom ? 1.0f / invDenom : 1.0f; u = (dot11 * dot02 - dot01 * dot12) * invDenom; v = (dot00 * dot12 - dot01 * dot02) * invDenom; |