Collada: improved Error handling: Avoid shutdown of Blender when the Collada importer...
authorGaia Clary <gaia.clary@machinimatrix.org>
Sat, 24 Jun 2017 19:50:04 +0000 (21:50 +0200)
committerGaia Clary <gaia.clary@machinimatrix.org>
Sat, 24 Jun 2017 20:16:47 +0000 (22:16 +0200)
source/blender/collada/ErrorHandler.cpp

index 98aa85f8a9b31d596e86037e911df2e541a5da0d..32aa5636e080ec39c8d8c653b5076621759858bd 100644 (file)
@@ -49,7 +49,7 @@ ErrorHandler::~ErrorHandler()
 //--------------------------------------------------------------------
 bool ErrorHandler::handleError(const COLLADASaxFWL::IError *error)
 {
-       bool isError = true;
+       bool isError = false;
        
        if (error->getErrorClass() == COLLADASaxFWL::IError::ERROR_SAXPARSER) {
                COLLADASaxFWL::SaxParserError *saxParserError = (COLLADASaxFWL::SaxParserError *) error;
@@ -81,10 +81,7 @@ bool ErrorHandler::handleError(const COLLADASaxFWL::IError *error)
                 * Accept non critical errors as warnings (i.e. texture not found)
                 * This makes the importer more graceful, so it now imports what makes sense.
                 */
-               if (saxFWLError->getSeverity() == COLLADASaxFWL::IError::SEVERITY_ERROR_NONCRITICAL) {
-                       isError = false;
-               }
-
+               isError = (saxFWLError->getSeverity() != COLLADASaxFWL::IError::SEVERITY_ERROR_NONCRITICAL);
                std::cout << "Sax FWL Error: " << saxFWLError->getErrorMessage() << std::endl;
        }
        else {
@@ -93,5 +90,5 @@ bool ErrorHandler::handleError(const COLLADASaxFWL::IError *error)
 
        mError |= isError;
 
-       return false; // let OpenCollada decide when to abort
+       return isError; // let OpenCollada decide when to abort
 }