diff options
Diffstat (limited to 'engines/agos/saveload.cpp')
| -rw-r--r-- | engines/agos/saveload.cpp | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 8eb7f066b3..8b133971de 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -1031,7 +1031,12 @@ bool AGOSEngine::loadGame(const Common::String &filename, bool restartMode) {  	if (restartMode) {  		// Load restart state -		f = _archives.createReadStreamForMember(filename); +		Common::File *file = new Common::File(); +		if (!file->open(filename)) { +			delete file; +			file = nullptr; +		} +		f = file;  	} else {  		f = _saveFileMan->openForLoading(filename);  	} @@ -1205,7 +1210,12 @@ bool AGOSEngine_Elvira2::loadGame(const Common::String &filename, bool restartMo  	if (restartMode) {  		// Load restart state -		f = _archives.createReadStreamForMember(filename); +		Common::File *file = new Common::File(); +		if (!file->open(filename)) { +			delete file; +			file = nullptr; +		} +		f = file;  	} else {  		f = _saveFileMan->openForLoading(filename);  	} | 
