From 72cc6d4f4fede53608624d2bb49e5f59e0b8bc14 Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Tue, 18 Jul 2017 18:04:14 +1000 Subject: Bug [#1958]. Make doCommandBySelector work but avoid double effect of 'delete' key. --- cocoa/ScintillaView.mm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'cocoa/ScintillaView.mm') 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]; + } } //-------------------------------------------------------------------------------------------------- -- cgit v1.2.3