From 6bbca9307d5da114e6b1210f6fa0b4fd42cbaaec Mon Sep 17 00:00:00 2001 From: michi_cc Date: Sun, 25 Aug 2013 11:23:10 +0000 Subject: [PATCH] (svn r25743) -Fix [FS#5705]: [OSX] Text input into an edit box would trigger hotkeys. --- src/video/cocoa/event.mm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video/cocoa/event.mm b/src/video/cocoa/event.mm index 81b9db1d24..f5474800f7 100644 --- a/src/video/cocoa/event.mm +++ b/src/video/cocoa/event.mm @@ -34,6 +34,7 @@ #include "../../gfx_func.h" #include "../../network/network.h" #include "../../core/random_func.hpp" +#include "../../core/math_func.hpp" #include "../../texteff.hpp" #include "../../window_func.h" @@ -291,7 +292,10 @@ static void QZ_KeyEvent(unsigned short keycode, unsigned short unicode, BOOL dow if (down) { uint32 pressed_key = QZ_MapKey(keycode); - HandleKeypress(pressed_key, unicode); + /* Don't handle normal characters if an edit box has the focus. */ + if (!EditBoxInGlobalFocus() || (!IsInsideMM(pressed_key, 'A', 'Z' + 1) && !IsInsideMM(pressed_key, '0', '9' + 1))) { + HandleKeypress(pressed_key, unicode); + } DEBUG(driver, 2, "cocoa_v: QZ_KeyEvent: %x (%x), down, mapping: %x", keycode, unicode, pressed_key); } else { DEBUG(driver, 2, "cocoa_v: QZ_KeyEvent: %x (%x), up", keycode, unicode);