aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/detection.cpp')
-rw-r--r--engines/agi/detection.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/agi/detection.cpp b/engines/agi/detection.cpp
index 5141ab761f..21b1831261 100644
--- a/engines/agi/detection.cpp
+++ b/engines/agi/detection.cpp
@@ -276,6 +276,8 @@ SaveStateDescriptor AgiMetaEngine::querySaveMetaInfos(const char *target, int sl
SaveStateDescriptor desc(slot, name);
+ // Do not allow save slot 0 (used for auto-saving) to be deleted or
+ // overwritten.
desc.setDeletableFlag(slot != 0);
desc.setWriteProtectedFlag(slot == 0);
@@ -306,9 +308,12 @@ SaveStateDescriptor AgiMetaEngine::querySaveMetaInfos(const char *target, int sl
delete in;
return desc;
+ } else {
+ SaveStateDescriptor emptySave;
+ // Do not allow save slot 0 (used for auto-saving) to be overwritten.
+ emptySave.setWriteProtectedFlag(slot == 0);
+ return emptySave;
}
-
- return SaveStateDescriptor();
}
const ADGameDescription *AgiMetaEngine::fallbackDetect(const FileMap &allFilesXXX, const Common::FSList &fslist) const {