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;
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to