From b25e4b6474e600d942ab28a610bbd3d9185615dd Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Sat, 25 Jul 2009 18:02:34 +0000 Subject: [PATCH] Fixed a problem related to AdjacencyIterator. In the Python layer, AdjacencyIterator::isBegin() and AdjacencyIterator::isEnd() always returned a False value and printed a "not implemented" warning message. This caused an infinite loop in a few chaining iterators, resulting in a crash of the program. The origin of the issue seemed to be a fact that in the C++ layer, the AdjacencyIterator class had not properly overloaded the definitions of the methods in the Iterator superclass. The fix here looks okay, although I'm not sure why this inconsistency was not addressed for a long time. --- source/blender/freestyle/intern/stroke/ChainingIterators.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/freestyle/intern/stroke/ChainingIterators.h b/source/blender/freestyle/intern/stroke/ChainingIterators.h index 1a40144d704..fb04be93b4d 100755 --- a/source/blender/freestyle/intern/stroke/ChainingIterators.h +++ b/source/blender/freestyle/intern/stroke/ChainingIterators.h @@ -79,10 +79,10 @@ public: return "AdjacencyIterator"; } - virtual inline bool isEnd(){ + virtual inline bool isEnd() const { return _internalIterator.isEnd(); } - virtual inline bool isBegin(){ + virtual inline bool isBegin() const { return _internalIterator.isBegin(); } /*! Returns true if the current ViewEdge is is coming