aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2016-03-06 01:36:23 +0100
committerEugene Sandulenko2016-03-06 01:36:23 +0100
commitca630653f80ecd14d107a19e450898bcb2f1b937 (patch)
treeb788b14ce89b6c2af26af8521d45288de411e5b2 /engines
parentfc3f6fa13ecaeb75cb0eff41f48eadafe4493740 (diff)
parent82e73c38fcbdd04b45dfe7c2bc68d1ca125fada8 (diff)
downloadscummvm-rg350-ca630653f80ecd14d107a19e450898bcb2f1b937.tar.gz
scummvm-rg350-ca630653f80ecd14d107a19e450898bcb2f1b937.tar.bz2
scummvm-rg350-ca630653f80ecd14d107a19e450898bcb2f1b937.zip
Merge pull request #690 from WinterGrascph/fix7022
LAB: Process events during ending sequence
Diffstat (limited to 'engines')
-rw-r--r--engines/lab/processroom.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp
index 44c8d65d7c..5093e8ef85 100644
--- a/engines/lab/processroom.cpp
+++ b/engines/lab/processroom.cpp
@@ -238,6 +238,8 @@ void LabEngine::doActions(const ActionList &actionList) {
ActionList::const_iterator action;
for (action = actionList.begin(); action != actionList.end(); ++action) {
updateEvents();
+ if (_quitLab || shouldQuit())
+ return;
switch (action->_actionType) {
case kActionPlaySound:
@@ -381,6 +383,8 @@ void LabEngine::doActions(const ActionList &actionList) {
while (_system->getMillis() < targetMillis) {
updateEvents();
+ if (_quitLab || shouldQuit())
+ return;
_anim->diffNextFrame();
}
}
@@ -409,6 +413,8 @@ void LabEngine::doActions(const ActionList &actionList) {
case kActionWaitSound: // used in scene 44 (heart of the labyrinth / ending)
while (_music->isSoundEffectActive()) {
updateEvents();
+ if (_quitLab || shouldQuit())
+ return;
_anim->diffNextFrame();
waitTOF();
}