diff --git a/src/files.h b/src/files.h index b40526c2c0..dc7022882b 100644 --- a/src/files.h +++ b/src/files.h @@ -514,7 +514,7 @@ public: FileRdr() {} // These two functions are only needed as long as the FileReader has not been fully replaced throughout the code. - FileRdr(FileReader *r) + explicit FileRdr(FileReader *r) { mReader = r; } diff --git a/src/sound/i_soundfont.cpp b/src/sound/i_soundfont.cpp index e807261107..1416e380ea 100644 --- a/src/sound/i_soundfont.cpp +++ b/src/sound/i_soundfont.cpp @@ -119,11 +119,12 @@ FSF2Reader::FSF2Reader(const char *fn) FileRdr FSF2Reader::OpenMainConfigFile() { + FileRdr fr; if (mMainConfigForSF2.IsNotEmpty()) { - return new MemoryReader(mMainConfigForSF2.GetChars(), (long)mMainConfigForSF2.Len()); + fr.OpenMemory(mMainConfigForSF2.GetChars(), mMainConfigForSF2.Len()); } - return nullptr; + return fr; } FileRdr FSF2Reader::OpenFile(const char *name) @@ -159,15 +160,16 @@ FileRdr FZipPatReader::OpenMainConfigFile() FileRdr FZipPatReader::OpenFile(const char *name) { + FileRdr fr; if (resf != nullptr) { auto lump = resf->FindLump(name); if (lump != nullptr) { - return lump->NewReader(); + return FileRdr(lump->NewReader()); // temporary workaround } } - return nullptr; + return fr; } //========================================================================== @@ -258,7 +260,7 @@ FLumpPatchSetReader::FLumpPatchSetReader(const char *filename) FileRdr FLumpPatchSetReader::OpenMainConfigFile() { - return Wads.ReopenLumpNum(mLumpIndex); + return Wads.ReopenLumpReader(mLumpIndex); } FileRdr FLumpPatchSetReader::OpenFile(const char *name)