From 5d3fbca6ba46cf7892ce25b989ab477b6ca9ecbd Mon Sep 17 00:00:00 2001 From: Paolo Cignoni Date: Thu, 22 Feb 2018 19:19:43 +0100 Subject: [PATCH] Corrected wrong managment of malformed stl files --- src/meshlabplugins/io_base/baseio.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/meshlabplugins/io_base/baseio.cpp b/src/meshlabplugins/io_base/baseio.cpp index a7d8918df..d460c5930 100644 --- a/src/meshlabplugins/io_base/baseio.cpp +++ b/src/meshlabplugins/io_base/baseio.cpp @@ -85,15 +85,20 @@ void BaseMeshIOPlugin::initPreOpenParameter(const QString &formatName, const QSt bool BaseMeshIOPlugin::open(const QString &formatName, const QString &fileName, MeshModel &m, int& mask, const RichParameterSet &parlst, CallBackPos *cb, QWidget * /*parent*/) { bool normalsUpdated = false; + QString errorMsgFormat = "Error encountered while loading file:\n\"%1\"\n\nError details: %2"; + if(!QFile::exists(fileName)) + { + errorMessage = errorMsgFormat.arg(fileName, "File does not exist"); + return false; + } // initializing mask mask = 0; // initializing progress bar status if (cb != NULL) (*cb)(0, "Loading..."); - QString errorMsgFormat = "Error encountered while loading file:\n\"%1\"\n\nError details: %2"; - + //string filename = fileName.toUtf8().data(); string filename = QFile::encodeName(fileName).constData(); @@ -119,7 +124,7 @@ bool BaseMeshIOPlugin::open(const QString &formatName, const QString &fileName, { if (!tri::io::ImporterSTL::LoadMask(filename.c_str(), mask)) { - errorMessage = errorMsgFormat.arg(fileName, tri::io::ImporterSTL::ErrorMsg(tri::io::ImporterSTL::E_CANTOPEN)); + errorMessage = errorMsgFormat.arg(fileName, tri::io::ImporterSTL::ErrorMsg(tri::io::ImporterSTL::E_MALFORMED)); return false; } m.Enable(mask);