[gnome-shell/wip/carlosg/im-no-redundant-preedit: 5/6] inputMethod: Avoid calling set_preedit_text() if unnecessary



commit 8c3811a866017943c276fa7d9e2aed4c0f0554ae
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Nov 13 18:26:13 2018 +0100

    inputMethod: Avoid calling set_preedit_text() if unnecessary
    
    This is easier down on clients.

 js/misc/inputMethod.js | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index 4a92dc49b..e22dfccc5 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -144,8 +144,11 @@ var InputMethod = new Lang.Class({
             this._updateCapabilities();
         }
 
-        // Unset any preedit text
-        this.set_preedit_text(null, 0);
+        if (this._preeditStr) {
+            // Unset any preedit text
+            this.set_preedit_text(null, 0);
+            this._preeditStr = null;
+        }
     },
 
     vfunc_reset() {
@@ -154,8 +157,11 @@ var InputMethod = new Lang.Class({
             this._emitRequestSurrounding();
         }
 
-        // Unset any preedit text
-        this.set_preedit_text(null, 0);
+        if (this._preeditStr) {
+            // Unset any preedit text
+            this.set_preedit_text(null, 0);
+            this._preeditStr = null;
+        }
     },
 
     vfunc_set_cursor_location(rect) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]