aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa/ScintillaView.mm
diff options
context:
space:
mode:
authorNeil Hodgson <nyamatongwe@gmail.com>2017-07-18 18:04:14 +1000
committerNeil Hodgson <nyamatongwe@gmail.com>2017-07-18 18:04:14 +1000
commit72cc6d4f4fede53608624d2bb49e5f59e0b8bc14 (patch)
treea1305fe50d33e4c35bca3928733fb0b26e54aa4c /cocoa/ScintillaView.mm
parent04134d9a580798cff51d8585bb79a9bf45c66de3 (diff)
downloadscintilla-mirror-72cc6d4f4fede53608624d2bb49e5f59e0b8bc14.tar.gz
Bug [#1958]. Make doCommandBySelector work but avoid double effect of 'delete'
key.
Diffstat (limited to 'cocoa/ScintillaView.mm')
-rw-r--r--cocoa/ScintillaView.mm11
1 files changed, 7 insertions, 4 deletions
diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm
index ea6f6f510..7891beed8 100644
--- a/cocoa/ScintillaView.mm
+++ b/cocoa/ScintillaView.mm
@@ -438,7 +438,7 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) {
- (void) doCommandBySelector: (SEL) selector {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
- if ([self respondsToSelector: @selector(selector)])
+ if ([self respondsToSelector: selector])
[self performSelector: selector withObject: nil];
#pragma clang diagnostic pop
}
@@ -648,10 +648,13 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) {
* its own input handling (character composition via NSTextInputClient protocol):
*/
- (void) keyDown: (NSEvent *) theEvent {
+ bool handled = false;
if (mMarkedTextRange.length == 0)
- mOwner.backend->KeyboardInput(theEvent);
- NSArray *events = @[theEvent];
- [self interpretKeyEvents: events];
+ handled = mOwner.backend->KeyboardInput(theEvent);
+ if (!handled) {
+ NSArray *events = @[theEvent];
+ [self interpretKeyEvents: events];
+ }
}
//--------------------------------------------------------------------------------------------------