diff --git a/code/ObjFileImporter.cpp b/code/ObjFileImporter.cpp index ebf75b3c4..622584138 100644 --- a/code/ObjFileImporter.cpp +++ b/code/ObjFileImporter.cpp @@ -138,7 +138,7 @@ void ObjFileImporter::InternReadFile( const std::string& pFile, aiScene* pScene, if ( pos != std::string::npos ) { modelName = pFile.substr(pos+1, pFile.size() - pos - 1); folderName = pFile.substr( 0, pos ); - if ( folderName.empty() ) { + if ( !folderName.empty() ) { pIOHandler->PushDirectory( folderName ); } } else { diff --git a/code/ObjFileParser.cpp b/code/ObjFileParser.cpp index 027d99543..83262b5d4 100644 --- a/code/ObjFileParser.cpp +++ b/code/ObjFileParser.cpp @@ -414,7 +414,7 @@ void ObjFileParser::getFace(aiPrimitiveType type) if ( pIndices->empty() ) { DefaultLogger::get()->error("Obj: Ignoring empty face"); - // skip line and clean up + // skip line and clean up m_DataIt = skipLine( m_DataIt, m_DataItEnd, m_uiLine ); delete pNormalID; delete pTexID; @@ -539,7 +539,10 @@ void ObjFileParser::getMaterialLib() const std::string strMatName(pStart, &(*m_DataIt)); std::string absName; if ( m_pIO->StackSize() > 0 ) { - const std::string &path = m_pIO->CurrentDirectory(); + std::string path = m_pIO->CurrentDirectory(); + if ( '/' != *path.rbegin() ) { + path += '/'; + } absName = path + strMatName; } else { absName = strMatName;