Skip to content
  • Suyuan Chang's avatar
    macOS: Fix bug that entry cannot press and hold a key to input accented character. · cfad43b8
    Suyuan Chang authored
    There're two issues in GdkQuartzView's NSTextInputClient implementation
    causes this bug.
    
    1. The -(NSRange)selectedRange should not return [NSNotFound, 0] if
       there's no selection. The accented character window will not show
       if returned NSRange's location is NSNotFound. Instead of that, the
       NSRange's location should be the caret position in the text input
       buffer.
    
    2. The accented character window will invoke
       -(void)insertText:replacementRange: with non-empty replacement
       range, to replace non-accented character with accented character
       after user select it from accented character window. This case is
       not implemented in original code. Here I use another gobject data
       to pass the information to input module and convert it into
       'delete-surrounding' event.
    
    Besides these, there's another bug cause gtk_im_context_filter_keypress()
    return wrong value while user press and hold a key. When user press
    and h...
    cfad43b8