aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pegasus')
-rw-r--r--engines/pegasus/input.cpp8
-rw-r--r--engines/pegasus/neighborhood/mars/mars.cpp8
2 files changed, 10 insertions, 6 deletions
diff --git a/engines/pegasus/input.cpp b/engines/pegasus/input.cpp
index 47ec44a736..36a84dbd3c 100644
--- a/engines/pegasus/input.cpp
+++ b/engines/pegasus/input.cpp
@@ -223,10 +223,18 @@ bool InputDeviceManager::notifyEvent(const Common::Event &event) {
}
void InputDeviceManager::pumpEvents() {
+ PegasusEngine *vm = ((PegasusEngine *)g_engine);
+
+ bool saveAllowed = vm->swapSaveAllowed(false);
+ bool openAllowed = vm->swapLoadAllowed(false);
+
// Just poll for events. notifyEvent() will pick up on them.
Common::Event event;
while (g_system->getEventManager()->pollEvent(event))
;
+
+ vm->swapSaveAllowed(saveAllowed);
+ vm->swapLoadAllowed(openAllowed);
}
int operator==(const Input &arg1, const Input &arg2) {
diff --git a/engines/pegasus/neighborhood/mars/mars.cpp b/engines/pegasus/neighborhood/mars/mars.cpp
index 432909596e..6e3795d250 100644
--- a/engines/pegasus/neighborhood/mars/mars.cpp
+++ b/engines/pegasus/neighborhood/mars/mars.cpp
@@ -2422,9 +2422,7 @@ void Mars::doCanyonChase() {
_vm->drawScaledFrame(frame, 0, 0);
}
- Common::Event event;
- while (g_system->getEventManager()->pollEvent(event))
- ;
+ InputDevice.pumpEvents();
g_system->delayMillis(10);
}
@@ -3055,9 +3053,7 @@ void Mars::transportToRobotShip() {
_vm->drawScaledFrame(frame, 0, 0);
}
- Common::Event event;
- while (g_system->getEventManager()->pollEvent(event))
- ;
+ InputDevice.pumpEvents();
g_system->delayMillis(10);
}