inputMethod: Protect for running with older mutter versions

The offset argument is changing from uint to int. Which means we
might would pass a negative offset and trigger an "out of bounds"
error. Make it work more or less alright with older mutters, by
clamping the offset to 0.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1146
This commit is contained in:
Carlos Garnacho 2020-03-28 17:26:39 +01:00 committed by Florian Müllner
parent de16fe8dff
commit 8378c9c9e0

View File

@ -98,7 +98,12 @@ class InputMethod extends Clutter.InputMethod {
}
_onDeleteSurroundingText(_context, offset, nchars) {
this.delete_surrounding(offset, nchars);
try {
this.delete_surrounding(offset, nchars);
} catch (e) {
// We may get out of bounds for negative offset on older mutter
this.delete_surrounding(0, nchars + offset);
}
}
_onUpdatePreeditText(_context, text, pos, visible) {