From 005de475361fba04da537decdec82ee4902e0f9d Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Tue, 18 Jul 2017 18:04:14 +1000 Subject: Backport: Bug [#1958]. Make doCommandBySelector work but avoid double effect of 'delete' key. Backport of changeset 6356:8526860a2628. --- cocoa/ScintillaView.mm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'cocoa') diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index 2e35a5492..f7c9dcf1b 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -485,7 +485,7 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) - (void) doCommandBySelector: (SEL) selector { - if ([self respondsToSelector: @selector(selector)]) + if ([self respondsToSelector: selector]) [self performSelector: selector withObject: nil]; } @@ -723,10 +723,13 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor) */ - (void) keyDown: (NSEvent *) theEvent { + bool handled = false; if (mMarkedTextRange.length == 0) - mOwner.backend->KeyboardInput(theEvent); - NSArray* events = [NSArray arrayWithObject: theEvent]; - [self interpretKeyEvents: events]; + handled = mOwner.backend->KeyboardInput(theEvent); + if (!handled) { + NSArray* events = [NSArray arrayWithObject: theEvent]; + [self interpretKeyEvents: events]; + } } //-------------------------------------------------------------------------------------------------- -- cgit v1.2.3