aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c16
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