diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2010-03-08 16:54:28 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2010-03-08 16:54:28 +0800 |
commit | 35e2a6150395b18e684e17f22ff4315cba0a7b2c (patch) | |
tree | bc3dc67e173c8f8cd5702f3d4f56e7c128b68446 | |
parent | 5bc1e2cd937800e3dbd11067426632edfbfee0f6 (diff) | |
parent | 023e73e6c363e37de3f9306e0c81c9d255a1a880 (diff) | |
download | gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar.gz gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar.bz2 gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar.lz gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar.xz gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.tar.zst gsoc2013-empathy-35e2a6150395b18e684e17f22ff4315cba0a7b2c.zip |
Merge commit 'maiku/bug-607626'
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 0ed24bdf8..705494e4a 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -155,6 +155,11 @@ contact_list_view_query_tooltip_cb (EmpathyContactListView *view, } running++; + /* Don't show the tooltip if there's already a popup menu */ + if (gtk_menu_get_for_attach_widget (GTK_WIDGET (view)) != NULL) { + goto OUT; + } + if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (view), &x, &y, keyboard_mode, &model, &path, &iter)) { @@ -679,6 +684,10 @@ contact_list_view_popup_menu_idle_cb (gpointer user_data) } if (menu) { + g_signal_connect (menu, "deactivate", + G_CALLBACK (gtk_menu_detach), NULL); + gtk_menu_attach_to_widget (GTK_MENU (menu), + GTK_WIDGET (data->view), NULL); gtk_widget_show (menu); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, @@ -794,6 +803,10 @@ contact_list_view_call_activated_cb ( gtk_menu_shell_append (shell, item); gtk_widget_show (item); + g_signal_connect (menu, "deactivate", + G_CALLBACK (gtk_menu_detach), NULL); + gtk_menu_attach_to_widget (GTK_MENU (menu), + GTK_WIDGET (view), NULL); gtk_widget_show (menu); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, event->button, event->time); |