From d7716799d46133ce6c0a2136c6c507a72b39144f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=B6bius?= Date: Fri, 17 Apr 2009 14:23:37 +0000 Subject: [PATCH] Improved OBJ Reader to not segfault on problems regarding texture coordinates git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@96 fdac6126-5c0c-442c-9429-916003d36597 --- Core/IO/reader/OBJReader.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Core/IO/reader/OBJReader.cc b/Core/IO/reader/OBJReader.cc index 955869b3..29f795fa 100644 --- a/Core/IO/reader/OBJReader.cc +++ b/Core/IO/reader/OBJReader.cc @@ -430,9 +430,13 @@ read(std::fstream& _in, BaseImporter& _bi, Options& _opt) value = _bi.n_vertices() + value + 1; } assert(!vhandles.empty()); - assert((unsigned int)(value-1) < texcoords.size()); - _bi.set_texcoord(vhandles.back(), texcoords[value-1]); - face_texcoords.push_back( texcoords[value-1] ); + if ( ! texcoords.empty() && (unsigned int)(value-1) < texcoords.size() ) { + _bi.set_texcoord(vhandles.back(), texcoords[value-1]); + face_texcoords.push_back( texcoords[value-1] ); + } else { + omerr() << "Error setting Texture coordinates" << std::endl; + } + break; case 2: // normal