diff options
| author | Neil <nyamatongwe@gmail.com> | 2017-03-02 09:08:04 +1100 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2017-03-02 09:08:04 +1100 | 
| commit | e15a9f49e1c9224d1c81bc5ef1c14f008ee2d87c (patch) | |
| tree | f348d6817155e07ce008af011a3cc2e6bf6cda02 /cocoa/ScintillaView.mm | |
| parent | f31063c87e800351ac6416ecdb0b3f9a1b842f7f (diff) | |
| download | scintilla-mirror-e15a9f49e1c9224d1c81bc5ef1c14f008ee2d87c.tar.gz | |
Bug [#1881]. Revert part of previous fix as it stopped the accented character
chooser from appearing.
Special-case the Chinese "Cangjie" input source.
Diffstat (limited to 'cocoa/ScintillaView.mm')
| -rw-r--r-- | cocoa/ScintillaView.mm | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index fb299d947..107c421c3 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -569,7 +569,17 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)    const NSRange posRangeSel = [mOwner selectedRangePositions];    if (posRangeSel.length == 0)    { -    return NSMakeRange(NSNotFound, 0); +    NSTextInputContext *tic = [NSTextInputContext currentInputContext]; +    // Chinese input causes malloc crash when empty selection returned with actual +    // position so return NSNotFound. +    // If this is applied to European input, it stops the accented character +    // chooser from appearing. +    // May need to add more input source names. +    if ([tic.selectedKeyboardInputSource +         isEqualToString:@"com.apple.inputmethod.TCIM.Cangjie"]) +    { +      return NSMakeRange(NSNotFound, 0); +    }    }    return mOwner.backend->CharactersFromPositions(posRangeSel);  } | 
