From 8e733f03b766bb741b3b87842607ba11c3652496 Mon Sep 17 00:00:00 2001 From: Lars Skovlund Date: Mon, 14 Jan 2013 20:11:34 +0100 Subject: SCI: Event handling: Include modifier flags in null events. Fixes bug #3580473 --- engines/sci/event.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp index 14443db1e2..90351a4d5e 100644 --- a/engines/sci/event.cpp +++ b/engines/sci/event.cpp @@ -161,8 +161,15 @@ SciEvent EventManager::getScummVMEvent() { noEvent.mousePos = input.mousePos = mousePos; if (!found || ev.type == Common::EVENT_MOUSEMOVE) - return noEvent; + { + int modifiers = em->getModifierState(); + noEvent.modifiers = + ((modifiers & Common::KBD_ALT) ? SCI_KEYMOD_ALT : 0) | + ((modifiers & Common::KBD_CTRL) ? SCI_KEYMOD_CTRL : 0) | + ((modifiers & Common::KBD_SHIFT) ? SCI_KEYMOD_LSHIFT | SCI_KEYMOD_RSHIFT : 0); + return noEvent; + } if (ev.type == Common::EVENT_QUIT) { input.type = SCI_EVENT_QUIT; return input; -- cgit v1.2.3