diff options
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index ee184af0f4..2c002585c5 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -375,6 +375,8 @@ int KyraEngine_v1::checkInput(Button *buttonList, bool mainLoop) { void KyraEngine_v1::updateInput() { Common::Event event; + bool updateScreen = false; + while (_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: @@ -395,7 +397,8 @@ void KyraEngine_v1::updateInput() { break; case Common::EVENT_MOUSEMOVE: - screen()->updateScreen(); + if (screen()->isMouseVisible()) + updateScreen = true; // fall through case Common::EVENT_LBUTTONUP: @@ -409,6 +412,9 @@ void KyraEngine_v1::updateInput() { break; } } + + if (updateScreen) + screen()->updateScreen(); } void KyraEngine_v1::removeInputTop() { |