diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c index eef062c..d644d69 100644 --- a/client/gtk2/ibusimcontext.c +++ b/client/gtk2/ibusimcontext.c @@ -845,6 +845,18 @@ ibus_im_context_focus_in (GtkIMContext *context) return; /* don't set focus on password entry */ +#if GTK_CHECK_VERSION (3, 6, 0) + { + GtkInputPurpose purpose; + + g_object_get (G_OBJECT (context), + "input-purpose", &purpose, + NULL); + + if (purpose == GTK_INPUT_PURPOSE_PASSWORD) + return; + } +#endif if (ibusimcontext->client_window != NULL) { GtkWidget *widget;