From 06c4f228a3176b88947523bf635d49e0fee9b978 Mon Sep 17 00:00:00 2001 From: Huang Peng Date: Sun, 15 Feb 2009 14:51:41 +0800 Subject: Not call FocusIn & FocusOut methods of engines, if input context is disabled. --- bus/inputcontext.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bus/inputcontext.c b/bus/inputcontext.c index 4bef950..bdc7d75 100644 --- a/bus/inputcontext.c +++ b/bus/inputcontext.c @@ -1010,7 +1010,7 @@ bus_input_context_focus_in (BusInputContext *context) priv->has_focus = TRUE; - if (priv->engine) { + if (priv->engine && priv->enabled) { bus_engine_proxy_focus_in (priv->engine); } @@ -1032,7 +1032,7 @@ bus_input_context_focus_out (BusInputContext *context) priv->has_focus = FALSE; - if (priv->engine) { + if (priv->engine && priv->enabled) { bus_engine_proxy_focus_out (priv->engine); } @@ -1389,7 +1389,6 @@ bus_input_context_disable (BusInputContext *context) BusInputContextPrivate *priv; priv = BUS_INPUT_CONTEXT_GET_PRIVATE (context); - priv->enabled = FALSE; if (priv->engine) { if (priv->has_focus) { @@ -1404,6 +1403,8 @@ bus_input_context_disable (BusInputContext *context) g_signal_emit (context, context_signals[DISABLED], 0); + + priv->enabled = FALSE; } const static struct { -- cgit