From 8378c9c9e03e7a8d0fdb382c473f0d18da02d1f5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 28 Mar 2020 17:26:39 +0100 Subject: [PATCH] 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 --- js/misc/inputMethod.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js index 386c07a75..a3c6bb084 100644 --- a/js/misc/inputMethod.js +++ b/js/misc/inputMethod.js @@ -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) {