aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2015-10-22 11:06:51 +0300
committerFilippos Karapetis2015-10-22 11:06:51 +0300
commitaf87fc7b65ebd56dbd2cb1a1484c9a9764aab1e6 (patch)
treef36554f06ade19380479a5f056abeb87f6dae186
parentbff515a2d936e5291c4bef3a7ee6ddfe605be3e6 (diff)
parent923ee223d82be96a3c2e0c4fbb79bb86e1947bd5 (diff)
downloadscummvm-rg350-af87fc7b65ebd56dbd2cb1a1484c9a9764aab1e6.tar.gz
scummvm-rg350-af87fc7b65ebd56dbd2cb1a1484c9a9764aab1e6.tar.bz2
scummvm-rg350-af87fc7b65ebd56dbd2cb1a1484c9a9764aab1e6.zip
Merge pull request #620 from salty-horse/neverhood_save
NEVERHOOD: Don't crash when loading savegames with a high slot ID
-rw-r--r--engines/neverhood/menumodule.cpp6
-rw-r--r--engines/neverhood/menumodule.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp
index 6911041e58..826f175d47 100644
--- a/engines/neverhood/menumodule.cpp
+++ b/engines/neverhood/menumodule.cpp
@@ -93,6 +93,10 @@ void MenuModule::setLoadgameInfo(uint index) {
_savegameSlot = (*_savegameList)[index].slotNum;
}
+void MenuModule::setLoadgameSlot(int slot) {
+ _savegameSlot = slot;
+}
+
void MenuModule::setSavegameInfo(const Common::String &description, uint index, bool newSavegame) {
_savegameDescription = description;
_savegameSlot = newSavegame ? -1 : (*_savegameList)[index].slotNum;
@@ -912,7 +916,7 @@ GameStateMenu::GameStateMenu(NeverhoodEngine *vm, Module *parentModule, Savegame
if (slot >= 0) {
if (!isSave) {
- ((MenuModule*)_parentModule)->setLoadgameInfo(slot);
+ ((MenuModule*)_parentModule)->setLoadgameSlot(slot);
} else {
((MenuModule*)_parentModule)->setSavegameInfo(saveDesc,
slot, slot >= saveCount);
diff --git a/engines/neverhood/menumodule.h b/engines/neverhood/menumodule.h
index 6508ccbdf2..1c4ade2369 100644
--- a/engines/neverhood/menumodule.h
+++ b/engines/neverhood/menumodule.h
@@ -43,6 +43,7 @@ public:
MenuModule(NeverhoodEngine *vm, Module *parentModule, int which);
virtual ~MenuModule();
void setLoadgameInfo(uint index);
+ void setLoadgameSlot(int slot);
void setSavegameInfo(const Common::String &description, uint index, bool newSavegame);
void setDeletegameInfo(uint index);
void refreshSaveGameList();