summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-05-19 23:41:56 -0400
committerMatthias Clasen <mclasen@redhat.com>2018-05-21 20:20:06 -0400
commit7644a9cd726307af7cca5d9f2fa575462300ac0f (patch)
tree0e0cced84a7f16b27bc8ee101de24e62315e5e87
parent19ed1b92b0093951175c92ff46acdbbf132bceef (diff)
downloadgtk+-7644a9cd726307af7cca5d9f2fa575462300ac0f.tar.gz
entry: Stop using ::key-press-event
Use a generic ::event handler instead.
-rw-r--r--gtk/gtkentry.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 6ca8eec087..7a7ce7268e 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -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