Fri, 08 Sep 2017 20:22:37 -0400
Use gtk_menu_popup_at_pointer instead of gtk_menu_popup.
The latter is deprecated in 3.22.
| pidgin/gtk3compat.h | file | annotate | diff | comparison | revisions | |
| pidgin/gtkblist.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkconv.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkdebug.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtklog.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkroomlist.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkstatusbox.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkwebview.c | file | annotate | diff | comparison | revisions | |
| pidgin/gtkwebviewtoolbar.c | file | annotate | diff | comparison | revisions | |
| pidgin/plugins/disco/gtkdisco.c | file | annotate | diff | comparison | revisions |
--- a/pidgin/gtk3compat.h Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtk3compat.h Fri Sep 08 20:22:37 2017 -0400 @@ -33,6 +33,16 @@ #include <gtk/gtk.h> +#if !GTK_CHECK_VERSION(3,22,0) + +static inline void +gtk_menu_popup_at_pointer(GtkMenu *menu, const GdkEvent *trigger_event) +{ + const GdkEventButton *event = (const GdkEventButton *)trigger_event; + gtk_menu_popup(menu, NULL, NULL, NULL, NULL, + event ? event->button : 0, gdk_event_get_time(event)); +} + #if !GTK_CHECK_VERSION(3,16,0) static inline void @@ -49,5 +59,7 @@ #endif /* 3.16.0 */ +#endif /* 3.22.0 */ + #endif /* _PIDGINGTK3COMPAT_H_ */
--- a/pidgin/gtkblist.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkblist.c Fri Sep 08 20:22:37 2017 -0400 @@ -1868,11 +1868,7 @@ } static gboolean -pidgin_blist_show_context_menu(PurpleBlistNode *node, - GtkMenuPositionFunc func, - GtkWidget *tv, - guint button, - guint32 time) +pidgin_blist_show_context_menu(PurpleBlistNode *node, GdkEvent *event) { struct _pidgin_blist_node *gtknode = purple_blist_node_get_ui_data(node); GtkWidget *menu = NULL; @@ -1915,7 +1911,7 @@ /* Now display the menu */ if (menu != NULL) { gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, func, tv, button, time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), event); handled = TRUE; } @@ -1942,7 +1938,7 @@ /* Right click draws a context menu */ if (gdk_event_triggers_context_menu((GdkEvent *)event)) { - handled = pidgin_blist_show_context_menu(node, NULL, tv, 3, event->time); + handled = pidgin_blist_show_context_menu(node, (GdkEvent *)event); /* CTRL+middle click expands or collapse a contact */ } else if ((event->button == 2) && (event->type == GDK_BUTTON_PRESS) && @@ -2005,7 +2001,7 @@ gtk_tree_model_get(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &node, -1); /* Shift+F10 draws a context menu */ - handled = pidgin_blist_show_context_menu(node, pidgin_treeview_popup_menu_position_func, tv, 0, GDK_CURRENT_TIME); + handled = pidgin_blist_show_context_menu(node, NULL); return handled; } @@ -4587,7 +4583,7 @@ } static void -unseen_conv_menu(void) +unseen_conv_menu(GdkEvent *event) { static GtkWidget *menu = NULL; GList *convs = NULL; @@ -4618,8 +4614,7 @@ pidgin_conversations_fill_menu(menu, convs); g_list_free(convs); gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, - gtk_get_current_event_time()); + gtk_menu_popup_at_pointer(GTK_MENU(menu), event); } static gboolean @@ -4638,7 +4633,7 @@ } } else if (gdk_event_triggers_context_menu((GdkEvent *)event)) { - unseen_conv_menu(); + unseen_conv_menu((GdkEvent *)event); } return TRUE;
--- a/pidgin/gtkconv.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkconv.c Fri Sep 08 20:22:37 2017 -0400 @@ -1861,8 +1861,7 @@ } else if (gdk_event_triggers_context_menu((GdkEvent *)event)) { GtkWidget *menu = create_chat_menu (PURPLE_CHAT_CONVERSATION(conv), who, gc); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, - event->button, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); } handled: @@ -3015,7 +3014,7 @@ } } - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, e->button, e->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)e); return TRUE; } @@ -6268,12 +6267,8 @@ PurpleConnection *gc = purple_conversation_get_connection(conv); - menu = create_chat_menu(conv, buddyname, gc); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, - NULL, GTK_WIDGET(imhtml), - btn_event->button, - btn_event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), event); g_free(name); @@ -9411,7 +9406,7 @@ } gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, e->button, e->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)e); return TRUE; } return FALSE; @@ -9814,7 +9809,7 @@ menu = win->notebook_menu; - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return TRUE; }
--- a/pidgin/gtkdebug.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkdebug.c Fri Sep 08 20:22:37 2017 -0400 @@ -416,7 +416,7 @@ gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return FALSE; }
--- a/pidgin/gtklog.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtklog.c Fri Sep 08 20:22:37 2017 -0400 @@ -382,8 +382,7 @@ menu = log_create_popup_menu(treeview, lv, iter); if (menu) { - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, - event->button, gdk_event_get_time((GdkEvent *)event)); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return TRUE; } else { return FALSE;
--- a/pidgin/gtkroomlist.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkroomlist.c Fri Sep 08 20:22:37 2017 -0400 @@ -323,7 +323,7 @@ G_CALLBACK(do_add_room_cb), &info); gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return FALSE; }
--- a/pidgin/gtkstatusbox.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkstatusbox.c Fri Sep 08 20:22:37 2017 -0400 @@ -320,8 +320,7 @@ || !*path) gtk_widget_set_sensitive(menu_item, FALSE); - gtk_menu_popup(GTK_MENU(box->icon_box_menu), NULL, NULL, NULL, NULL, - event->button, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(box->icon_box_menu), (GdkEvent *)event); } else { choose_buddy_icon_cb(widget, box);
--- a/pidgin/gtkwebview.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkwebview.c Fri Sep 08 20:22:37 2017 -0400 @@ -745,7 +745,7 @@ } static void -do_popup_menu(WebKitWebView *webview, int button, int time, int context, +do_popup_menu(WebKitWebView *webview, GdkEvent *event, int context, WebKitDOMNode *node, const char *uri) { GtkWidget *menu; @@ -929,7 +929,7 @@ g_signal_emit_by_name(G_OBJECT(webview), "populate-popup", menu); gtk_menu_attach_to_widget(GTK_MENU(menu), GTK_WIDGET(webview), NULL); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button, time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), event); } static gboolean @@ -958,8 +958,7 @@ } } - do_popup_menu(webview, 0, gtk_get_current_event_time(), - context, node, uri); + do_popup_menu(webview, NULL, context, node, uri); g_free(uri); @@ -982,7 +981,7 @@ "link-uri", &uri, NULL); - do_popup_menu(webview, event->button, event->time, context, + do_popup_menu(webview, (GdkEvent *)event, context, node, uri); g_free(uri);
--- a/pidgin/gtkwebviewtoolbar.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/gtkwebviewtoolbar.c Fri Sep 08 20:22:37 2017 -0400 @@ -1256,8 +1256,7 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_widget_show(item); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, pidgin_menu_position_func_helper, - widget, event->button, event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return TRUE; }
--- a/pidgin/plugins/disco/gtkdisco.c Sat Sep 09 01:12:37 2017 -0400 +++ b/pidgin/plugins/disco/gtkdisco.c Fri Sep 08 20:22:37 2017 -0400 @@ -315,8 +315,7 @@ } gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, - event->time); + gtk_menu_popup_at_pointer(GTK_MENU(menu), (GdkEvent *)event); return FALSE; }