Revision: 17751
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17751
Author:   theeth
Date:     2008-12-09 01:46:05 +0100 (Tue, 09 Dec 2008)

Log Message:
-----------
Off by one error at the end of reeb and sketch iterators causing despair and 
dismay.

Modified Paths:
--------------
    branches/etch-a-ton/source/blender/src/editarmature_sketch.c
    branches/etch-a-ton/source/blender/src/reeb.c

Modified: branches/etch-a-ton/source/blender/src/editarmature_sketch.c
===================================================================
--- branches/etch-a-ton/source/blender/src/editarmature_sketch.c        
2008-12-09 00:18:30 UTC (rev 17750)
+++ branches/etch-a-ton/source/blender/src/editarmature_sketch.c        
2008-12-09 00:46:05 UTC (rev 17751)
@@ -1661,9 +1661,9 @@
        SK_StrokeIterator *iter = (SK_StrokeIterator*)arg;
        SK_Point *result = NULL;
        
+       iter->index++;
        if (iter->index < iter->length)
        {
-               iter->index++;
                result = setIteratorValues(iter, iter->index);
        }
 
@@ -1682,11 +1682,6 @@
        {
                result = setIteratorValues(iter, iter->index);
        }
-       else
-       {
-               /* stop iterator if passed end */
-               iter->index = iter->length; 
-       }
 
        return result;
 }
@@ -1724,7 +1719,7 @@
 {
        SK_StrokeIterator *iter = (SK_StrokeIterator*)arg;
 
-       if (iter->index == iter->length)
+       if (iter->index >= iter->length)
        {
                return 1;
        }

Modified: branches/etch-a-ton/source/blender/src/reeb.c
===================================================================
--- branches/etch-a-ton/source/blender/src/reeb.c       2008-12-09 00:18:30 UTC 
(rev 17750)
+++ branches/etch-a-ton/source/blender/src/reeb.c       2008-12-09 00:46:05 UTC 
(rev 17751)
@@ -3462,9 +3462,10 @@
        ReebArcIterator *iter = (ReebArcIterator*)arg;
        EmbedBucket *result = NULL;
        
+       iter->index++;
+       
        if (iter->index < iter->length)
        {
-               iter->index++;
                result = &(iter->arc->buckets[iter->start + (iter->stride * 
iter->index)]);
        }
        
@@ -3484,11 +3485,6 @@
        {
                result = &(iter->arc->buckets[iter->start + (iter->stride * 
iter->index)]);
        }
-       else
-       {
-               /* stop iterator if passed end */
-               iter->index = iter->length; 
-       }
        
        setIteratorValues(iter, result);
        return result;
@@ -3529,7 +3525,7 @@
 {
        ReebArcIterator *iter = (ReebArcIterator*)arg;
 
-       if (iter->index == iter->length)
+       if (iter->index >= iter->length)
        {
                return 1;
        }


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

Reply via email to