diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-02-02 16:59:15 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-02-02 17:05:32 +0400 |
commit | a16998911b59956806000826c15a941c53bd33c1 (patch) | |
tree | bc61930d08a377a9e108913fa6242599fa8c1374 /source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp | |
parent | 41d778fa5d160c32e0f917c5502b198878fa1c08 (diff) |
Freestyle: Fix for iterations over 0D elements in the reversed order.
The revision is concerned with Interface0DIterator and StrokeVertexIterator.
These iterators can be generated by Interface1D::vertices_end() and
Stroke::stroke_vertices_end(), respectively. These methods return an
iterator poinitng the next index of the last 0D element (i.e., iterator's is_end
property is true). When the iterators created in this way are used with
Python's iterator protocol (e.g., in a for-loop), iterations over 0D elements
are automatically performed in the reversed order. This functionality was
broken after recent revisions concerning Freestyle iterators.
Also made minor code cleanup (white space).
Diffstat (limited to 'source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp')
-rw-r--r-- | source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp index f796c8e132c..3e5051049bd 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp @@ -96,15 +96,7 @@ static PyObject *StrokeVertexIterator_iternext(BPy_StrokeVertexIterator *self) PyErr_SetNone(PyExc_StopIteration); return NULL; } - if (self->at_start) - self->at_start = false; - else { - self->sv_it->increment(); - if (self->sv_it->isBegin()){ - PyErr_SetNone(PyExc_StopIteration); - return NULL; - } - } + self->sv_it->decrement(); } else { if (self->sv_it->isEnd()) { @@ -119,7 +111,7 @@ static PyObject *StrokeVertexIterator_iternext(BPy_StrokeVertexIterator *self) * exit the loop if it is. not doing so will result in a crash */ else { self->sv_it->increment(); - if (self->sv_it->isEnd()){ + if (self->sv_it->isEnd()) { PyErr_SetNone(PyExc_StopIteration); return NULL; } |