diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-08-23 15:30:21 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2021-08-23 15:38:33 +0200 |
commit | 90edb7641584a23ae1979dcb960c3c862f4596e2 (patch) | |
tree | 29f802429b77f5d180cf71255586dc298814984f | |
parent | 8f397502df322c2f4726c996b3c7640cd3e50b34 (diff) | |
download | gtk+-90edb7641584a23ae1979dcb960c3c862f4596e2.tar.gz |
gtksearchentry: Consume click events after pressing on icon
This results in user actions, so the gesture should consume the
events.
-rw-r--r-- | gtk/gtksearchentry.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/gtksearchentry.c b/gtk/gtksearchentry.c index 6a9d3c8969..ebee742622 100644 --- a/gtk/gtksearchentry.c +++ b/gtk/gtksearchentry.c @@ -491,6 +491,16 @@ gtk_search_entry_accessible_init (GtkAccessibleInterface *iface) } static void +gtk_search_entry_icon_press (GtkGestureClick *press, + int n_press, + double x, + double y, + GtkSearchEntry *entry) +{ + gtk_gesture_set_state (GTK_GESTURE (press), GTK_EVENT_SEQUENCE_CLAIMED); +} + +static void gtk_search_entry_icon_release (GtkGestureClick *press, int n_press, double x, @@ -601,6 +611,7 @@ gtk_search_entry_init (GtkSearchEntry *entry) gtk_widget_set_child_visible (entry->icon, FALSE); press = gtk_gesture_click_new (); + g_signal_connect (press, "pressed", G_CALLBACK (gtk_search_entry_icon_press), entry); g_signal_connect (press, "released", G_CALLBACK (gtk_search_entry_icon_release), entry); gtk_widget_add_controller (entry->icon, GTK_EVENT_CONTROLLER (press)); |