cb02ed2518856771e4f37a73dd12adca6d253e7f
Ensure that both self.text and self.selectedTextRange are updated before triggering textDidChange: or selectionDidChange: on the input delegate (which then re-computes positions). This prevents inconsistencies in selection vs text position/offset lookups triggered by didChange notifications. Ensure that rangeOfComposedCharacterSequenceAtIndex: is only ever called for index values > 0 && < self.text.length. This prevents such calls for position with index == self.text.length. Also reduces unnecessary textDidChange/selectionDidChange notifications: replaceRange:withText: and setMarkedText:selectedRange: are only ever called by UIKit and methods called by UIKit (insertText, deleteBackward), so notification is unnecessary.
Description
Languages
Dart
75.4%
C++
16.4%
Objective-C++
2.7%
Java
2.7%
Objective-C
0.6%
Other
1.8%