summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfujiwarat <takao.fujiwara1@gmail.com>2015-05-22 11:37:11 +0900
committerfujiwarat <takao.fujiwara1@gmail.com>2015-05-22 11:37:11 +0900
commitb58351ec2f7c057dcfe0aff883064039702a56d7 (patch)
treec737bfadf356264d7865d2e4ca90af8b4b8ad68c
parent7ecbccc7164e1ad1c1d46f51d29f7be9cbec5d13 (diff)
downloadibus-b58351ec2f7c057dcfe0aff883064039702a56d7.tar.gz
Set sync process_key_event in ibus-x11
If X11 client application spend time during XNextEvent(), e.g. sleep(1), under async process_key_event(), X11 does not keep the event order. I don't know why the event order is broken but now set the sync mode. BUG=https://code.google.com/p/ibus/issues/detail?id=1697 TEST=client/x11/ibus-x11 Review URL: https://codereview.appspot.com/240860043
-rw-r--r--client/x11/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/client/x11/main.c b/client/x11/main.c
index 4fde122e..54a8b2bf 100644
--- a/client/x11/main.c
+++ b/client/x11/main.c
@@ -116,7 +116,7 @@ static gint g_debug_level = 0;
static IBusBus *_bus = NULL;
-static gboolean _use_sync_mode = FALSE;
+static gboolean _use_sync_mode = TRUE;
static void
_xim_preedit_start (XIMS xims, const X11IC *x11ic)
@@ -1015,7 +1015,8 @@ _init_ibus (void)
g_signal_connect (_bus, "disconnected",
G_CALLBACK (_bus_disconnected_cb), NULL);
- _use_sync_mode = _get_boolean_env ("IBUS_ENABLE_SYNC_MODE", FALSE);
+ /* https://code.google.com/p/ibus/issues/detail?id=1697 */
+ _use_sync_mode = _get_boolean_env ("IBUS_ENABLE_SYNC_MODE", TRUE);
}
static void