pidgin/gtkdocklet.c

changeset 38710
32c5e0e741e1
parent 38708
a65157d76fee
child 38929
159404505264
equal deleted inserted replaced
38709:6c80734ca3b4 38710:32c5e0e741e1
679 static void 679 static void
680 docklet_menu(void) 680 docklet_menu(void)
681 { 681 {
682 static GtkWidget *menu = NULL; 682 static GtkWidget *menu = NULL;
683 GtkWidget *menuitem; 683 GtkWidget *menuitem;
684 GtkMenuPositionFunc pos_func = gtk_status_icon_position_menu;
685 684
686 if (menu) { 685 if (menu) {
687 gtk_widget_destroy(menu); 686 gtk_widget_destroy(menu);
688 } 687 }
689 688
759 G_CALLBACK(purple_core_quit), NULL); 758 G_CALLBACK(purple_core_quit), NULL);
760 759
761 #ifdef _WIN32 760 #ifdef _WIN32
762 g_signal_connect(menu, "leave-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); 761 g_signal_connect(menu, "leave-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL);
763 g_signal_connect(menu, "enter-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); 762 g_signal_connect(menu, "enter-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL);
764 pos_func = NULL;
765 #endif 763 #endif
766 gtk_widget_show_all(menu); 764 gtk_widget_show_all(menu);
767 #if GTK_CHECK_VERSION(3,22,0) 765 gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL);
768 gtk_menu_popup_at_widget(GTK_MENU(menu), docklet,
769 GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_SOUTH_WEST,
770 NULL);
771 #else
772 gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
773 pos_func,
774 docklet, 0, gtk_get_current_event_time());
775 #endif
776 } 766 }
777 767
778 static void 768 static void
779 pidgin_docklet_clicked(int button_type) 769 pidgin_docklet_clicked(int button_type)
780 { 770 {

mercurial