entry: Stop using ::key-press-event
authorMatthias Clasen <mclasen@redhat.com>
Sun, 20 May 2018 03:41:56 +0000 (23:41 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 22 May 2018 00:20:06 +0000 (20:20 -0400)
Use a generic ::event handler instead.

gtk/gtkentry.c

index 6ca8eec087c6e81a33d49327e989910f0f60125b..7a7ce7268eb85a80e6aeaf1aad9d859bbf780f0f 100644 (file)
@@ -4432,14 +4432,17 @@ gtk_cell_editable_entry_activated (GtkEntry *entry, gpointer data)
 }
 
 static gboolean
-gtk_cell_editable_key_press_event (GtkEntry    *entry,
-                                  GdkEventKey *key_event,
-                                  gpointer     data)
+gtk_cell_editable_event (GtkEntry *entry,
+                         GdkEvent *event,
+                         gpointer  data)
 {
   GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
   guint keyval;
 
-  if (!gdk_event_get_keyval ((GdkEvent *) key_event, &keyval))
+  if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
+    return GDK_EVENT_PROPAGATE;
+
+  if (!gdk_event_get_keyval (event, &keyval))
     return GDK_EVENT_PROPAGATE;
 
   if (keyval == GDK_KEY_Escape)
@@ -4469,8 +4472,8 @@ gtk_entry_start_editing (GtkCellEditable *cell_editable,
 {
   g_signal_connect (cell_editable, "activate",
                    G_CALLBACK (gtk_cell_editable_entry_activated), NULL);
-  g_signal_connect (cell_editable, "key-press-event",
-                   G_CALLBACK (gtk_cell_editable_key_press_event), NULL);
+  g_signal_connect (cell_editable, "event",
+                   G_CALLBACK (gtk_cell_editable_event), NULL);
 }
 
 static void