diff options
author | Filippos Karapetis | 2015-10-22 11:06:51 +0300 |
---|---|---|
committer | Filippos Karapetis | 2015-10-22 11:06:51 +0300 |
commit | af87fc7b65ebd56dbd2cb1a1484c9a9764aab1e6 (patch) | |
tree | f36554f06ade19380479a5f056abeb87f6dae186 | |
parent | bff515a2d936e5291c4bef3a7ee6ddfe605be3e6 (diff) | |
parent | 923ee223d82be96a3c2e0c4fbb79bb86e1947bd5 (diff) | |
download | scummvm-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.cpp | 6 | ||||
-rw-r--r-- | engines/neverhood/menumodule.h | 1 |
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(); |