aboutsummaryrefslogtreecommitdiff
path: root/engines/cruise/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cruise/detection.cpp')
-rw-r--r--engines/cruise/detection.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/engines/cruise/detection.cpp b/engines/cruise/detection.cpp
index 5be2fdeeea..a68b14d986 100644
--- a/engines/cruise/detection.cpp
+++ b/engines/cruise/detection.cpp
@@ -284,19 +284,22 @@ void CruiseMetaEngine::removeSaveState(const char *target, int slot) const {
SaveStateDescriptor CruiseMetaEngine::querySaveMetaInfos(const char *target, int slot) const {
Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(
Cruise::CruiseEngine::getSavegameFile(slot));
- assert(f);
-
- Cruise::CruiseSavegameHeader header;
- Cruise::readSavegameHeader(f, header);
- delete f;
-
- // Create the return descriptor
- SaveStateDescriptor desc(slot, header.saveName);
- desc.setDeletableFlag(true);
- desc.setWriteProtectedFlag(false);
- desc.setThumbnail(header.thumbnail);
+
+ if (f) {
+ Cruise::CruiseSavegameHeader header;
+ Cruise::readSavegameHeader(f, header);
+ delete f;
+
+ // Create the return descriptor
+ SaveStateDescriptor desc(slot, header.saveName);
+ desc.setDeletableFlag(true);
+ desc.setWriteProtectedFlag(false);
+ desc.setThumbnail(header.thumbnail);
+
+ return desc;
+ }
- return desc;
+ return SaveStateDescriptor();
}
bool CruiseMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {