diff --git a/clutter/clutter/clutter-text.c b/clutter/clutter/clutter-text.c index 280df0340..4828a4cbd 100644 --- a/clutter/clutter/clutter-text.c +++ b/clutter/clutter/clutter-text.c @@ -2224,6 +2224,11 @@ clutter_text_key_press (ClutterActor *actor, pool = clutter_binding_pool_find (g_type_name (CLUTTER_TYPE_TEXT)); g_assert (pool != NULL); + if (!(event->flags & CLUTTER_EVENT_FLAG_INPUT_METHOD) && + clutter_input_focus_is_focused (priv->input_focus) && + clutter_input_focus_filter_key_event (priv->input_focus, event)) + return CLUTTER_EVENT_STOP; + /* we allow passing synthetic events that only contain * the Unicode value and not the key symbol, unless they * contain the input method flag. @@ -2247,10 +2252,6 @@ clutter_text_key_press (ClutterActor *actor, { gunichar key_unichar; - if (clutter_input_focus_is_focused (priv->input_focus) && - clutter_input_focus_filter_key_event (priv->input_focus, event)) - return CLUTTER_EVENT_STOP; - /* Skip keys when control is pressed */ key_unichar = clutter_event_get_key_unicode ((ClutterEvent *) event);