diff --git a/src/core/file_sys/vfs_real.cpp b/src/core/file_sys/vfs_real.cpp index a63629b80f..d16790b55a 100644 --- a/src/core/file_sys/vfs_real.cpp +++ b/src/core/file_sys/vfs_real.cpp @@ -75,16 +75,9 @@ VfsEntryType RealVfsFilesystem::GetEntryType(std::string_view path_) const { VirtualFile RealVfsFilesystem::OpenFile(std::string_view path_, Mode perms) { const auto path = FS::SanitizePath(path_, FS::DirectorySeparator::PlatformDefault); - this->EvictSingleReference(); - - auto backing = FS::FileOpen(path, ModeFlagsToFileAccessMode(perms), FS::FileType::BinaryFile); - if (!backing) { - return nullptr; - } - - num_open_files++; - auto reference = std::make_unique(std::move(backing)); + auto reference = std::make_unique(); this->InsertReferenceIntoList(*reference); + return std::shared_ptr(new RealVfsFile(*this, std::move(reference), path, perms)); } diff --git a/src/core/file_sys/vfs_real.h b/src/core/file_sys/vfs_real.h index f29c69fbd2..48dc2698a3 100644 --- a/src/core/file_sys/vfs_real.h +++ b/src/core/file_sys/vfs_real.h @@ -15,8 +15,7 @@ class IOFile; namespace FileSys { struct FileReference : public Common::IntrusiveListBaseNode { - FileReference(std::shared_ptr&& f) : file(f) {} - std::shared_ptr file; + std::shared_ptr file{}; }; class RealVfsFile;