diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2015-10-26 12:17:12 +0300 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2015-10-26 14:55:37 +0300 |
commit | 52d074ba39ec4ec5c8bdd54fbd143745f4bb5f7c (patch) | |
tree | 3020073b25365f4925ab96f25aab44670021f7c1 /source/blender/freestyle/intern/stroke | |
parent | 3e9f6fc281dd465a6406cd6bec9dfceb9adf28ab (diff) |
Fix T46604: Crash in ChainPredicateIterator instantiated without predicates.
Also fixed a potential crash in the copy constructor case.
Diffstat (limited to 'source/blender/freestyle/intern/stroke')
-rw-r--r-- | source/blender/freestyle/intern/stroke/ChainingIterators.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/stroke/ChainingIterators.cpp b/source/blender/freestyle/intern/stroke/ChainingIterators.cpp index 84d770a96cd..6cacdfedf21 100644 --- a/source/blender/freestyle/intern/stroke/ChainingIterators.cpp +++ b/source/blender/freestyle/intern/stroke/ChainingIterators.cpp @@ -191,6 +191,8 @@ int ChainSilhouetteIterator::traverse(const AdjacencyIterator& ait) int ChainPredicateIterator::traverse(const AdjacencyIterator& ait) { + if (!_unary_predicate || !_binary_predicate) + return -1; AdjacencyIterator it(ait); // Iterates over next edges to see if one of them respects the predicate: while (!it.isEnd()) { |