Handle the case where text client fails to handle char attr request.
This commit is contained in:
parent
e4c54e6bb9
commit
c676d0d62c
|
@ -1034,14 +1034,20 @@ public:
|
|||
[self updateClientComposingBuffer:client];
|
||||
_currentCandidateClient = client;
|
||||
|
||||
NSRect lineHeightRect;
|
||||
NSRect lineHeightRect = NSMakeRect(0.0, 0.0, 16.0, 16.0);
|
||||
|
||||
NSInteger cursor = _latestReadingCursor;
|
||||
if (cursor == [_composingBuffer length] && cursor != 0) {
|
||||
cursor--;
|
||||
}
|
||||
|
||||
// some apps (e.g. Twitter for Mac's search bar) handle this call incorrectly, hence the try-catch
|
||||
@try {
|
||||
[client attributesForCharacterIndex:cursor lineHeightRectangle:&lineHeightRect];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
NSLog(@"%@", exception);
|
||||
}
|
||||
|
||||
[LTCurrentCandidateController setWindowTopLeftPoint:NSMakePoint(lineHeightRect.origin.x, lineHeightRect.origin.y - 4.0) bottomOutOfScreenAdjustmentHeight:lineHeightRect.size.height + 4.0];
|
||||
LTCurrentCandidateController.visible = YES;
|
||||
|
|
Loading…
Reference in New Issue