From c769f8d4ad3b671f2e824fa3d9142e4f7e9a2ae4 Mon Sep 17 00:00:00 2001 From: Joshua Hyatt Date: Sat, 29 Aug 2020 22:21:34 -0600 Subject: [PATCH] Replace unique_ptr with raw pointer to avoid destructing stream --- code/AssetLib/Obj/ObjFileImporter.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/AssetLib/Obj/ObjFileImporter.cpp b/code/AssetLib/Obj/ObjFileImporter.cpp index b6e1f9061..794cb8ec0 100644 --- a/code/AssetLib/Obj/ObjFileImporter.cpp +++ b/code/AssetLib/Obj/ObjFileImporter.cpp @@ -107,8 +107,8 @@ const aiImporterDesc *ObjFileImporter::GetInfo() const { void ObjFileImporter::InternReadFile(const std::string &file, aiScene *pScene, IOSystem *pIOHandler) { // Read file into memory static const std::string mode = "rb"; - std::unique_ptr fileStream(pIOHandler->Open(file, mode)); - if (!fileStream.get()) { + IOStream *fileStream = pIOHandler->Open(file, mode); + if (!fileStream) { throw DeadlyImportError("Failed to open file " + file + "."); } @@ -119,10 +119,10 @@ void ObjFileImporter::InternReadFile(const std::string &file, aiScene *pScene, I } IOStreamBuffer streamedBuffer; - streamedBuffer.open(fileStream.get()); + streamedBuffer.open(fileStream); // Allocate buffer and read file into it - //TextFileToBuffer( fileStream.get(),m_Buffer); + //TextFileToBuffer( fileStream,m_Buffer); // Get the model name std::string modelName, folderName; @@ -145,6 +145,8 @@ void ObjFileImporter::InternReadFile(const std::string &file, aiScene *pScene, I streamedBuffer.close(); + pIOHandler->Close(fileStream); + // Clean up allocated storage for the next import m_Buffer.clear();