From 936a0e76df79d92a8bdc03e9205330fb84a2083e Mon Sep 17 00:00:00 2001 From: Alynx Zhou Date: Wed, 1 Sep 2021 12:04:12 +0900 Subject: [PATCH] client/gtk2/ibusimcontext: Fix wrong cursor location in gtk3 apps If you apply this patch in your tarball, please also apply this to client/gtk3/ibusimcontext.c besides client/gtk2/ibusimcontext.c . BUG=https://github.com/ibus/ibus/issues/2337 --- client/gtk2/ibusimcontext.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c index da9a402ff..b1ccede95 100644 --- a/client/gtk2/ibusimcontext.c +++ b/client/gtk2/ibusimcontext.c @@ -1497,7 +1497,10 @@ _set_cursor_location_internal (IBusIMContext *ibusimcontext) #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;