diff options
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 11c9e78a2..e0c93e28e 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -1276,22 +1276,26 @@ contact_list_view_search_activate_cb (GtkWidget *search, } } -static void +static gboolean contact_list_view_search_key_navigation_cb (GtkWidget *search, - gpointer eventkey, + GdkEvent *event, EmpathyContactListView *view) { - GdkEventKey *event = ((GdkEventKey *) eventkey); - if (event->keyval == GDK_Up || event->keyval == GDK_Down) { + GdkEventKey *eventkey = ((GdkEventKey *) event); + gboolean ret = FALSE; + + if (eventkey->keyval == GDK_Up || eventkey->keyval == GDK_Down) { GdkEvent *new_event; - new_event = gdk_event_copy ((GdkEvent *) event); + new_event = gdk_event_copy (event); gtk_widget_grab_focus (GTK_WIDGET (view)); - gtk_widget_event (GTK_WIDGET (view), new_event); + ret = gtk_widget_event (GTK_WIDGET (view), new_event); gtk_widget_grab_focus (search); gdk_event_free (new_event); } + + return ret; } static void |