aboutsummaryrefslogtreecommitdiff
path: root/sky
diff options
context:
space:
mode:
authorNicolas Bacca2003-08-06 10:06:19 +0000
committerNicolas Bacca2003-08-06 10:06:19 +0000
commit7e2ff83e70e8c003c875c9ddd728ff9770dce92b (patch)
tree8d56e2f0cb2dfbdcaaa4a9f80f5374270dbada74 /sky
parentde277d746c51a647fd4af31052bb1412a5e95b76 (diff)
downloadscummvm-rg350-7e2ff83e70e8c003c875c9ddd728ff9770dce92b.tar.gz
scummvm-rg350-7e2ff83e70e8c003c875c9ddd728ff9770dce92b.tar.bz2
scummvm-rg350-7e2ff83e70e8c003c875c9ddd728ff9770dce92b.zip
Fix #783732 : freeze on Pocket PC
svn-id: r9550
Diffstat (limited to 'sky')
-rw-r--r--sky/screen.cpp9
-rw-r--r--sky/screen.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/sky/screen.cpp b/sky/screen.cpp
index 8e904082f5..c95d0bba9f 100644
--- a/sky/screen.cpp
+++ b/sky/screen.cpp
@@ -365,6 +365,15 @@ void SkyScreen::waitForTimer(void) {
}
}
+void SkyScreen::waitForSequence(void) {
+ while (_seqInfo.running) {
+ OSystem::Event event;
+
+ _system->delay_msecs(20);
+ while (_system->poll_event(&event));
+ }
+}
+
void SkyScreen::handleTimer(void) {
_gotTick = true;
diff --git a/sky/screen.h b/sky/screen.h
index 6ad9cf63e5..80572671a0 100644
--- a/sky/screen.h
+++ b/sky/screen.h
@@ -65,7 +65,7 @@ public:
void startSequenceItem(uint16 itemNum);
void stopSequence(void);
bool sequenceRunning(void) { return _seqInfo.running; };
- void waitForSequence(void) { while (_seqInfo.running) _system->delay_msecs(20); };
+ void waitForSequence(void);
uint32 seqFramesLeft(void) { return _seqInfo.framesLeft; };
uint8 *giveCurrent(void) { return _currentScreen; };
void halvePalette(void);