summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/cocoa/qnsview_complextext.mm18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_complextext.mm b/src/plugins/platforms/cocoa/qnsview_complextext.mm
index 7c50ec7ece..cdeb7154fe 100644
--- a/src/plugins/platforms/cocoa/qnsview_complextext.mm
+++ b/src/plugins/platforms/cocoa/qnsview_complextext.mm
@@ -370,14 +370,16 @@
if (![self tryToPerform:selector with:self]) {
m_sendKeyEvent = true;
- // The text input system determined that the key event was not
- // meant for text insertion, and instead asked us to treat it
- // as a (possibly noop) command. This typically happens for key
- // events with either ⌘ or ⌃, function keys such as F1-F35,
- // arrow keys, etc. We reflect that when sending the key event
- // later on, by removing the text from the event, so that the
- // event does not result in text insertion on the client side.
- m_sendKeyEventWithoutText = true;
+ if (![NSStringFromSelector(selector) hasPrefix:@"insert"]) {
+ // The text input system determined that the key event was not
+ // meant for text insertion, and instead asked us to treat it
+ // as a (possibly noop) command. This typically happens for key
+ // events with either ⌘ or ⌃, function keys such as F1-F35,
+ // arrow keys, etc. We reflect that when sending the key event
+ // later on, by removing the text from the event, so that the
+ // event does not result in text insertion on the client side.
+ m_sendKeyEventWithoutText = true;
+ }
}
}