From: Matthias Clasen Date: Mon, 11 Sep 2017 15:17:41 +0000 (-0400) Subject: Fix a corner-case for emoji input X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~39^2~190 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cf288a1b0920abe5787dc0ceaf279e66fe31396a;p=gtk%2B3.0.git Fix a corner-case for emoji input As reported in https://github.com/ibus/ibus/issues/1944, typing u201e while holding Ctrl+Shift used to give a „ when letting go of Ctrl+Shift. This broke when we introduced Ctrl+Shift+e to start Emoji sequences. Fix this by only looking for Ctrl+Shift+e if we are not already in a hex sequence. --- diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 01de597d81..48d4568e1f 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -1220,7 +1220,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, else have_hex_mods = (event->state & (hex_mod_mask)) == hex_mod_mask; is_hex_start = event->keyval == GDK_KEY_U; - is_emoji_start = event->keyval == GDK_KEY_E; + is_emoji_start = (event->keyval == GDK_KEY_E) && !priv->in_hex_sequence; is_end = (event->keyval == GDK_KEY_space || event->keyval == GDK_KEY_KP_Space || event->keyval == GDK_KEY_Return ||