diff --git a/Source/UniversalLogging/Private/LogFileStream.cpp b/Source/UniversalLogging/Private/LogFileStream.cpp index 40e6476ea3ec8a585ba19df196f2feae667fbaa0..eb48bf97636ad3127949a6d67887abca30d12b9d 100644 --- a/Source/UniversalLogging/Private/LogFileStream.cpp +++ b/Source/UniversalLogging/Private/LogFileStream.cpp @@ -23,7 +23,7 @@ void LogFileStream::Open() FString file_path = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir() + Filepath); platform_file.CreateDirectoryTree(*file_path); file_path = FPaths::Combine(file_path, Filename); - File_Handle = platform_file.OpenWrite(*file_path); + File_Handle.Reset(platform_file.OpenWrite(*file_path)); if (!File_Handle) { UE_LOG(LogUni, Error, TEXT("Universal Logging: The file %s could not be opened for writing."), *file_path); @@ -35,8 +35,7 @@ void LogFileStream::Open() void LogFileStream::Close() { - delete File_Handle; - File_Handle = nullptr; + File_Handle.Reset(); bIs_Open = false; } diff --git a/Source/UniversalLogging/Private/LogFileStream.h b/Source/UniversalLogging/Private/LogFileStream.h index 778e07455a8f9f06d6cba89c89f78d0d53c5f3b8..d75f5c65b159550a8d1e32703be8bdc271f4f595 100644 --- a/Source/UniversalLogging/Private/LogFileStream.h +++ b/Source/UniversalLogging/Private/LogFileStream.h @@ -15,5 +15,5 @@ private: const FString Filepath; const FString Filename; bool bIs_Open; - IFileHandle* File_Handle; + TUniquePtr <IFileHandle> File_Handle; }; \ No newline at end of file