[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49019] trunk/blender/source/blender/ blenkernel/intern/mask.c: Fixed crash of self-intersection loop in special cases
Sergey Sharybin
sergey.vfx at gmail.com
Wed Jul 18 12:22:56 CEST 2012
Revision: 49019
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49019
Author: nazgul
Date: 2012-07-18 10:22:56 +0000 (Wed, 18 Jul 2012)
Log Message:
-----------
Fixed crash of self-intersection loop in special cases
It was wrongly calculated bucket number per side in cases when some
of segments is filling the whole bounding box across some of dimension.
Solved by limiting buckets at least to 1 in such cases.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/mask.c
Modified: trunk/blender/source/blender/blenkernel/intern/mask.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask.c 2012-07-18 09:56:10 UTC (rev 49018)
+++ trunk/blender/source/blender/blenkernel/intern/mask.c 2012-07-18 10:22:56 UTC (rev 49019)
@@ -564,6 +564,13 @@
max_delta = MAX2(max_delta_x, max_delta_y);
buckets_per_side = MIN2(512, 0.9f / max_delta);
+
+ if (buckets_per_side == 0) {
+ /* happens when some segment fills the whole bounding box across some of dimension */
+
+ buckets_per_side = 1;
+ }
+
tot_bucket = buckets_per_side * buckets_per_side;
bucket_size = 1.0f / buckets_per_side;
More information about the Bf-blender-cvs
mailing list