From 6e6dafcd3e7ca88000b08593d49bb9b8b4247cbb Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 12 Sep 2011 12:26:55 +0000 Subject: [PATCH] From Luc Frauciel, "When osgUtil::DelaunayTriangulator triangulate() function ends with no triangle generated, it crashes. This patch fixes that" --- src/osgUtil/DelaunayTriangulator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/osgUtil/DelaunayTriangulator.cpp b/src/osgUtil/DelaunayTriangulator.cpp index 87eccb962..e06c693c6 100644 --- a/src/osgUtil/DelaunayTriangulator.cpp +++ b/src/osgUtil/DelaunayTriangulator.cpp @@ -1158,7 +1158,14 @@ bool DelaunayTriangulator::triangulate() pt_indices.push_back(ti->c()); } } - + + // LF August 2011 fix crash when no triangle is created + if (!pt_indices.size()) + { + OSG_WARN << "Warning: DelaunayTriangulator::triangulate(): no triangle generated" << std::endl; + return false; + } + prim_tris_ = new osg::DrawElementsUInt(GL_TRIANGLES, pt_indices.size(), &(pt_indices.front())); OSG_INFO << "DelaunayTriangulator: process done, " << prim_tris_->getNumPrimitives() << " triangles remain\n";