aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2011-04-17 13:35:29 +0300
committerEugene Sandulenko2011-04-17 14:10:46 +0300
commit64c3332138bee36905e3df07ba58d0a7ca2c4206 (patch)
treee2e77a4a5c4596f1888e263220211efbbe84df7c
parent9363e19667d5b4c7af2237bc6f22a636fed1dc0f (diff)
downloadscummvm-rg350-64c3332138bee36905e3df07ba58d0a7ca2c4206.tar.gz
scummvm-rg350-64c3332138bee36905e3df07ba58d0a7ca2c4206.tar.bz2
scummvm-rg350-64c3332138bee36905e3df07ba58d0a7ca2c4206.zip
SAGA: Fixed bug #3276033: IHNM: Savegame reminder not reset
-rw-r--r--engines/saga/interface.cpp10
-rw-r--r--engines/saga/interface.h2
-rw-r--r--engines/saga/saveload.cpp2
3 files changed, 11 insertions, 3 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index 5a3b229c9d..0f84b09547 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -1379,9 +1379,7 @@ void Interface::setSave(PanelButton *panelButton) {
fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber);
_vm->save(fileName, _textInputString);
}
- _vm->getTimerManager()->removeTimerProc(&saveReminderCallback);
- _vm->getTimerManager()->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
- setSaveReminderState(1);
+ resetSaveReminder();
_textInput = false;
setMode(kPanelOption);
@@ -1393,6 +1391,12 @@ void Interface::setSave(PanelButton *panelButton) {
}
}
+void Interface::resetSaveReminder() {
+ _vm->getTimerManager()->removeTimerProc(&saveReminderCallback);
+ _vm->getTimerManager()->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
+ setSaveReminderState(1);
+}
+
void Interface::handleOptionUpdate(const Point& mousePoint) {
int16 mouseY;
Rect rect;
diff --git a/engines/saga/interface.h b/engines/saga/interface.h
index b9a96653a7..09631bf0e8 100644
--- a/engines/saga/interface.h
+++ b/engines/saga/interface.h
@@ -288,6 +288,8 @@ public:
int32 getProtectHash() { return _protectHash; }
+ void resetSaveReminder();
+
private:
void handleMainUpdate(const Point& mousePoint); // main panel update
void handleMainClick(const Point& mousePoint); // main panel click
diff --git a/engines/saga/saveload.cpp b/engines/saga/saveload.cpp
index 9edb79fa7c..6a6992fb5f 100644
--- a/engines/saga/saveload.cpp
+++ b/engines/saga/saveload.cpp
@@ -256,6 +256,8 @@ void SagaEngine::save(const char *fileName, const char *saveName) {
warning("Can't write file '%s'. (Disk full?)", fileName);
delete out;
+
+ _interface->resetSaveReminder();
}
void SagaEngine::load(const char *fileName) {