diff options
Diffstat (limited to 'sky/mouse.cpp')
-rw-r--r-- | sky/mouse.cpp | 12 |
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; } |