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 +++++++---- doc/ScintillaHistory.html | 5 +++++ 2 files changed, 12 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]; + } } //-------------------------------------------------------------------------------------------------- diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 7810ec157..816659b03 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -580,6 +580,11 @@ Bug #1949.
  • + On Cocoa, fix doCommandBySelector but avoid double effect of 'delete' + key. + Bug #1958. +
  • +
  • On Qt, the updateUi signal includes the 'updated' flags. No updateUi signal is sent for focus in events. These changes make Qt behave more like the other platforms. -- cgit v1.2.3