blob: d4219b12111b482b8b9f990f22aa191ef7844bd5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
--- src/gtk+/gtk/gtkwindow.c 2017-04-17 20:07:37.054580039 +0200
+++ modified_files/gtkwindow_context-menu-appmenu.c 2017-04-17 20:06:20.311242903 +0200
@@ -9000,13 +9000,17 @@
iconified = (state & GDK_WINDOW_STATE_ICONIFIED) == GDK_WINDOW_STATE_ICONIFIED;
maximized = priv->maximized && !iconified;
- priv->popup_menu = gtk_menu_new ();
+ if (gtk_application_get_app_menu (gtk_window_get_application (window)) == NULL)
+ return;
+ priv->popup_menu = gtk_menu_new_from_model (gtk_application_get_app_menu (gtk_window_get_application (window)));
gtk_style_context_add_class (gtk_widget_get_style_context (priv->popup_menu),
GTK_STYLE_CLASS_CONTEXT_MENU);
gtk_menu_attach_to_widget (GTK_MENU (priv->popup_menu),
GTK_WIDGET (window),
popup_menu_detach);
+ gtk_menu_popup_at_pointer (GTK_MENU (priv->popup_menu), (GdkEvent *) event);
+ return;
menuitem = gtk_menu_item_new_with_label (_("Restore"));
gtk_widget_show (menuitem);
@@ -9092,7 +9096,7 @@
gtk_window_do_popup (GtkWindow *window,
GdkEventButton *event)
{
- if (!gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)),
+ if (TRUE || !gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)),
(GdkEvent *) event))
gtk_window_do_popup_fallback (window, event);
}
|