summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-05-20 11:48:09 -0400
committerMatthias Clasen <mclasen@redhat.com>2018-05-21 20:20:24 -0400
commit6084a7ea89c8ce7ff1d7ffdecb69603f276a285d (patch)
tree6f94e90e063a49332f0888e1d9dfaed16b5f11d8
parentc78166e19021a75aeed699ce373e0e52645e709c (diff)
downloadgtk+-6084a7ea89c8ce7ff1d7ffdecb69603f276a285d.tar.gz
button: Stop using ::key-release-event
Use the generic ::event signal instead.
-rw-r--r--gtk/gtkbutton.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 8bc976f146..4879aeb9f5 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -136,7 +136,7 @@ static void gtk_button_get_property (GObject *object,
static void gtk_button_display_changed (GtkWidget *widget,
GdkDisplay *previous_display);
static void gtk_button_unrealize (GtkWidget * widget);
-static gint gtk_button_key_release (GtkWidget * widget, GdkEventKey * event);
+static gint gtk_button_event (GtkWidget * widget, GdkEvent * event);
static void gtk_real_button_clicked (GtkButton * button);
static void gtk_real_button_activate (GtkButton *button);
static void gtk_button_update_state (GtkButton *button);
@@ -220,7 +220,7 @@ gtk_button_class_init (GtkButtonClass *klass)
widget_class->measure = gtk_button_measure_;
widget_class->display_changed = gtk_button_display_changed;
widget_class->unrealize = gtk_button_unrealize;
- widget_class->key_release_event = gtk_button_key_release;
+ widget_class->event = gtk_button_event;
widget_class->state_flags_changed = gtk_button_state_flags_changed;
widget_class->grab_notify = gtk_button_grab_notify;
widget_class->unmap = gtk_button_unmap;
@@ -762,21 +762,24 @@ gtk_button_do_release (GtkButton *button,
}
static gboolean
-gtk_button_key_release (GtkWidget *widget,
- GdkEventKey *event)
+gtk_button_event (GtkWidget *widget,
+ GdkEvent *event)
{
GtkButton *button = GTK_BUTTON (widget);
GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
+ if (gdk_event_get_event_type (event) != GDK_KEY_RELEASE)
+ return GDK_EVENT_PROPAGATE;
+
if (priv->activate_timeout)
{
gtk_button_finish_activate (button, TRUE);
- return TRUE;
+ return GDK_EVENT_STOP;
}
- else if (GTK_WIDGET_CLASS (gtk_button_parent_class)->key_release_event)
- return GTK_WIDGET_CLASS (gtk_button_parent_class)->key_release_event (widget, event);
+ else if (GTK_WIDGET_CLASS (gtk_button_parent_class)->event)
+ return GTK_WIDGET_CLASS (gtk_button_parent_class)->event (widget, event);
else
- return FALSE;
+ return GDK_EVENT_PROPAGATE;
}
static void