8195675: Call to insertText with single character from custom Input Method ignored

Reviewed-by: prr
This commit is contained in:
Steven Loomis 2024-05-28 16:44:44 +00:00
parent 0f3e2cc334
commit b8f2ec9091

View File

@ -38,6 +38,9 @@
// keyboard layout
static NSString *kbdLayout;
// Constant for keyman layouts
#define KEYMAN_LAYOUT "keyman"
@interface AWTView()
@property (retain) CDropTarget *_dropTarget;
@property (retain) CDragSource *_dragSource;
@ -259,7 +262,7 @@ static BOOL shouldUsePressAndHold() {
- (void) keyDown: (NSEvent *)event {
fProcessingKeystroke = YES;
fKeyEventsNeeded = YES;
fKeyEventsNeeded = ![(NSString *)kbdLayout containsString:@KEYMAN_LAYOUT];
// Allow TSM to look at the event and potentially send back NSTextInputClient messages.
[self interpretKeyEvents:[NSArray arrayWithObject:event]];
@ -965,7 +968,7 @@ static jclass jc_CInputMethod = NULL;
if ((utf16Length > 2) ||
((utf8Length > 1) && [self isCodePointInUnicodeBlockNeedingIMEvent:codePoint]) ||
((codePoint == 0x5c) && ([(NSString *)kbdLayout containsString:@"Kotoeri"]))) {
[(NSString *)kbdLayout containsString:@KEYMAN_LAYOUT]) {
#ifdef IM_DEBUG
NSLog(@"string complex ");
#endif