aboutsummaryrefslogtreecommitdiff
path: root/engines/sky/sky.cpp
diff options
context:
space:
mode:
authorMax Horn2007-03-17 16:22:51 +0000
committerMax Horn2007-03-17 16:22:51 +0000
commit59064dbef45df364ec9854dff8229f5f251c7433 (patch)
treee2dcd70134949dc8ada16068eb841f0042a863f7 /engines/sky/sky.cpp
parent8a2529b2d6fa83efc0da64e4f7fc003d84b18a59 (diff)
downloadscummvm-rg350-59064dbef45df364ec9854dff8229f5f251c7433.tar.gz
scummvm-rg350-59064dbef45df364ec9854dff8229f5f251c7433.tar.bz2
scummvm-rg350-59064dbef45df364ec9854dff8229f5f251c7433.zip
SKY: respect the SF_MOUSE_LOCKED flag upon mouse clicks, too
svn-id: r26176
Diffstat (limited to 'engines/sky/sky.cpp')
-rw-r--r--engines/sky/sky.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/sky/sky.cpp b/engines/sky/sky.cpp
index edd5926fb2..46fcddc1d8 100644
--- a/engines/sky/sky.cpp
+++ b/engines/sky/sky.cpp
@@ -511,6 +511,7 @@ void SkyEngine::gotTimerTick(void) {
void SkyEngine::delay(int32 amount) {
+ Common::EventManager *eventMan = _system->getEventManager();
OSystem::Event event;
uint32 start = _system->getMillis();
@@ -520,7 +521,6 @@ void SkyEngine::delay(int32 amount) {
amount = 0;
do {
- Common::EventManager *eventMan = _system->getEventManager();
while (eventMan->pollEvent(event)) {
switch (event.type) {
case OSystem::EVENT_KEYDOWN:
@@ -536,11 +536,15 @@ void SkyEngine::delay(int32 amount) {
}
break;
case OSystem::EVENT_LBUTTONDOWN:
- _skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
+ if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) {
+ _skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
+ }
_skyMouse->buttonPressed(2);
break;
case OSystem::EVENT_RBUTTONDOWN:
- _skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
+ if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) {
+ _skyMouse->mouseMoved(event.mouse.x, event.mouse.y);
+ }
_skyMouse->buttonPressed(1);
break;
case OSystem::EVENT_QUIT: