]> Pileus Git - ~andy/gtk/commitdiff
Let GDK_Return pass through in some more cases.
authorMatthias Clasen <mclasen@redhat.com>
Tue, 13 Sep 2005 18:50:39 +0000 (18:50 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 13 Sep 2005 18:50:39 +0000 (18:50 +0000)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Let GDK_Return pass through in some more cases.

* gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
activating the entry.

ChangeLog
ChangeLog.pre-2-10
gtk/gtkentry.c
gtk/gtkimcontextsimple.c

index d01059fe17ce7fee6816b7ee979441b4231e68ba..40621313722ef94ec54553153b886d678fc6aba8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
+       Let GDK_Return pass through in some more cases.
+
+       * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
+       activating the entry. 
+
        * gtk/gtkiconview.c (gtk_icon_view_class_init):
        (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
        docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
index d01059fe17ce7fee6816b7ee979441b4231e68ba..40621313722ef94ec54553153b886d678fc6aba8 100644 (file)
@@ -1,5 +1,11 @@
 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
+       Let GDK_Return pass through in some more cases.
+
+       * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
+       activating the entry. 
+
        * gtk/gtkiconview.c (gtk_icon_view_class_init):
        (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
        docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
index 60cd89e3795ab387964dc628426826b44e33fc40..2814f2b344620af996b3c7d961cb602b0266154c 100644 (file)
@@ -1893,16 +1893,20 @@ gtk_entry_key_press (GtkWidget   *widget,
        }
     }
 
-  if (event->keyval == GDK_Return || event->keyval == GDK_ISO_Enter
-      || event->keyval == GDK_Escape)
+  if (event->keyval == GDK_Return || 
+      event->keyval == GDK_KP_Enter || 
+      event->keyval == GDK_ISO_Enter || 
+      event->keyval == GDK_Escape)
     {
       GtkEntryCompletion *completion = gtk_entry_get_completion (entry);
-
+      
       if (completion && completion->priv->completion_timeout)
         {
           g_source_remove (completion->priv->completion_timeout);
           completion->priv->completion_timeout = 0;
         }
+
+      gtk_entry_reset_im_context (entry);
     }
 
   if (GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event))
index ac98ac06565283ca55f55643e7a5d3df98dbee57..0bea1c646f7d0c0ccf3998a2a10348abc960747d 100644 (file)
@@ -1384,7 +1384,11 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
       (context_simple->in_hex_sequence && !hex_keyval && 
        !is_hex_start && !is_space && !is_backspace))
     {
-      if (event->state & (gtk_accelerator_get_default_mod_mask () & ~GDK_SHIFT_MASK))
+      if (event->state & (gtk_accelerator_get_default_mod_mask () & ~GDK_SHIFT_MASK) ||
+         (context_simple->in_hex_sequence && context_simple->modifiers_dropped &&
+          (event->keyval == GDK_Return || 
+           event->keyval == GDK_ISO_Enter ||
+           event->keyval == GDK_KP_Enter)))
        return FALSE;
     }