diff options
author | Neil Hodgson <nyamatongwe@gmail.com> | 2017-07-18 18:04:14 +1000 |
---|---|---|
committer | Neil Hodgson <nyamatongwe@gmail.com> | 2017-07-18 18:04:14 +1000 |
commit | 72cc6d4f4fede53608624d2bb49e5f59e0b8bc14 (patch) | |
tree | a1305fe50d33e4c35bca3928733fb0b26e54aa4c /cocoa/ScintillaView.mm | |
parent | 04134d9a580798cff51d8585bb79a9bf45c66de3 (diff) | |
download | scintilla-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.mm | 11 |
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]; + } } //-------------------------------------------------------------------------------------------------- |