File ibus-fix-wrong-cursor-location.patch of Package ibus

diff -Naur ibus-1.5.25/client/gtk2/ibusimcontext.c ibus-1.5.25.new/client/gtk2/ibusimcontext.c
--- ibus-1.5.25/client/gtk2/ibusimcontext.c	2021-08-20 02:48:40.000000000 +0200
+++ ibus-1.5.25.new/client/gtk2/ibusimcontext.c	2021-09-08 14:58:40.500448136 +0200
@@ -1497,7 +1497,10 @@
 
 #if GTK_CHECK_VERSION (3, 98, 4)
 #elif GTK_CHECK_VERSION (2, 91, 0)
-    area.y += gdk_window_get_height (ibusimcontext->client_window);
+    if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
+        area.x = 0;
+        area.y += gdk_window_get_height (ibusimcontext->client_window);
+    }
 #else
     if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
         gint w, h;
diff -Naur ibus-1.5.25/client/gtk3/ibusimcontext.c ibus-1.5.25.new/client/gtk3/ibusimcontext.c
--- ibus-1.5.25/client/gtk3/ibusimcontext.c	2021-08-20 02:48:40.000000000 +0200
+++ ibus-1.5.25.new/client/gtk3/ibusimcontext.c	2021-09-08 14:59:39.992371070 +0200
@@ -1497,7 +1497,10 @@
 
 #if GTK_CHECK_VERSION (3, 98, 4)
 #elif GTK_CHECK_VERSION (2, 91, 0)
-    area.y += gdk_window_get_height (ibusimcontext->client_window);
+    if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
+        area.x = 0;
+        area.y += gdk_window_get_height (ibusimcontext->client_window);
+    }
 #else
     if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
         gint w, h;
openSUSE Build Service is sponsored by