diff options
Diffstat (limited to 'engines/pegasus')
-rw-r--r-- | engines/pegasus/input.cpp | 8 | ||||
-rw-r--r-- | engines/pegasus/neighborhood/mars/mars.cpp | 8 |
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); } |