From 4a0d8b8ab00b3ae2047631ee3be55621865f7731 Mon Sep 17 00:00:00 2001 From: troybowman Date: Fri, 30 Oct 2015 19:00:05 +0100 Subject: [PATCH] Implemented proper fix for QTBUG-42584 --- .gitignore | 1 + qtbase/src/plugins/platforms/cocoa/qnsview.mm | 14 ++++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 1a0dbad..d30c153 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ qtbase/.qmake.vars qtbase/config.tests/.qmake.cache *.swp *~ +*tags diff --git a/qtbase/src/plugins/platforms/cocoa/qnsview.mm b/qtbase/src/plugins/platforms/cocoa/qnsview.mm index 1ec33df..7e3739d 100644 --- a/qtbase/src/plugins/platforms/cocoa/qnsview.mm +++ b/qtbase/src/plugins/platforms/cocoa/qnsview.mm @@ -1418,14 +1418,12 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) quint32 nativeVirtualKey = [nsevent keyCode]; QChar ch = QChar::ReplacementCharacter; - int keyCode = Qt::Key_unknown; - if ([characters length] != 0) { - if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0)) - ch = QChar([charactersIgnoringModifiers characterAtIndex:0]); - else - ch = QChar([characters characterAtIndex:0]); - keyCode = [self convertKeyCode:ch]; - } + if ([characters length] != 0) + ch = QChar([characters characterAtIndex:0]); + else if ([charactersIgnoringModifiers length] != 0 && ((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier))) + ch = QChar([charactersIgnoringModifiers characterAtIndex:0]); + + int keyCode = [self convertKeyCode:ch]; // we will send a key event unless the input method sets m_sendKeyEvent to false m_sendKeyEvent = true; -- 1.9.3 (Apple Git-50)