diff --git a/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp index 0dd59c63..aa1f7935 100644 --- a/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp +++ b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp @@ -293,7 +293,7 @@ namespace Forsyth assert(vertexData.activeFaceListSize > 0); uint* begin = &activeFaceList[vertexData.activeFaceListStart]; - uint* end = &activeFaceList[vertexData.activeFaceListStart + vertexData.activeFaceListSize]; + uint* end = &(activeFaceList[vertexData.activeFaceListStart + vertexData.activeFaceListSize - 1]) + 1; uint* it = std::find(begin, end, bestFace); assert(it != end); std::swap(*it, *(end-1));