input: Fix possible IME input crash. (#1264)

This commit is contained in:
Jason Lee 2025-09-19 17:33:18 +08:00 committed by GitHub
parent c385da56c1
commit 299e5ed5fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2253,7 +2253,10 @@ impl EntityInputHandler for InputState {
let range = range_utf16
.as_ref()
.map(|range_utf16| self.range_from_utf16(range_utf16))
.or(self.ime_marked_range.map(|range| range.into()))
.or(self.ime_marked_range.map(|range| {
let range = self.range_to_utf16(&(range.start..range.end));
self.range_from_utf16(&range)
}))
.unwrap_or(self.selected_range.into());
let old_text = self.text.clone();
@ -2309,7 +2312,10 @@ impl EntityInputHandler for InputState {
let range = range_utf16
.as_ref()
.map(|range_utf16| self.range_from_utf16(range_utf16))
.or(self.ime_marked_range.map(|range| range.into()))
.or(self.ime_marked_range.map(|range| {
let range = self.range_to_utf16(&(range.start..range.end));
self.range_from_utf16(&range)
}))
.unwrap_or(self.selected_range.into());
let old_text = self.text.clone();