Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-02-02 16:59:15 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-02-02 17:05:32 +0400
commita16998911b59956806000826c15a941c53bd33c1 (patch)
treebc61930d08a377a9e108913fa6242599fa8c1374 /source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
parent41d778fa5d160c32e0f917c5502b198878fa1c08 (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.cpp12
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;
}