aboutsummaryrefslogtreecommitdiff
path: root/sky/mouse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sky/mouse.cpp')
-rw-r--r--sky/mouse.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/sky/mouse.cpp b/sky/mouse.cpp
index 7c5e71aeb2..bc0c7d60eb 100644
--- a/sky/mouse.cpp
+++ b/sky/mouse.cpp
@@ -167,7 +167,17 @@ void SkyMouse::drawNewMouse() {
}
void SkyMouse::waitMouseNotPressed(void) {
- while (_mouseB) ;
+
+ bool mousePressed = true;
+ OSystem::Event event;
+ while (mousePressed) {
+ _system->delay_msecs(20);
+ while (_system->poll_event(&event)) {
+ if ((event.event_code == OSystem::EVENT_LBUTTONUP) ||
+ (event.event_code == OSystem::EVENT_QUIT))
+ mousePressed = false;
+ }
+ }
_bMouseB = 0;
}