Use gtk_menu_popup_at_pointer instead of gtk_menu_popup.

Fri, 08 Sep 2017 20:22:37 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Fri, 08 Sep 2017 20:22:37 -0400
changeset 38707
6f4d3ab2f2ed
parent 38706
4a3f253ea22c
child 38708
a65157d76fee

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;
 }
 

mercurial