Merge lp:~larsu/ubuntu/precise/gtk+3.0/local-menubar into lp:~ubuntu-desktop/gtk/ubuntugtk3

Proposed by Sebastien Bacher
Status: Superseded
Proposed branch: lp:~larsu/ubuntu/precise/gtk+3.0/local-menubar
Merge into: lp:~ubuntu-desktop/gtk/ubuntugtk3
Diff against target: 337 lines (+78/-55)
2 files modified
debian/changelog (+8/-0)
debian/patches/043_ubuntu_menu_proxy.patch (+70/-55)
To merge this branch: bzr merge lp:~larsu/ubuntu/precise/gtk+3.0/local-menubar
Reviewer Review Type Date Requested Status
Sebastien Bacher Pending
Review via email: mp+89987@code.launchpad.net

This proposal supersedes a proposal from 2012-01-24.

This proposal has been superseded by a proposal from 2012-01-24.

Description of the change

Don't try to show the global menu when the menuproxy module wasn't loaded.

Specifically, this fixes indicator-loader and unity-greeter --test-mode in precise.

To post a comment you must log in.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2012-01-23 16:19:49 +0000
3+++ debian/changelog 2012-01-24 19:56:24 +0000
4@@ -1,3 +1,11 @@
5+gtk+3.0 (3.3.10-0ubuntu2) precise; urgency=low
6+
7+ * debian/patches/043_ubuntu_menu_proxy.patch:
8+ - don't try to show the global menu when the menuproxy module wasn't
9+ loaded
10+
11+ -- Lars Uebernickel <lars.uebernickel@ubuntu.com> Tue, 24 Jan 2012 17:02:21 +0100
12+
13 gtk+3.0 (3.3.10-0ubuntu1) precise; urgency=low
14
15 * New upstream version
16
17=== modified file 'debian/patches/043_ubuntu_menu_proxy.patch'
18--- debian/patches/043_ubuntu_menu_proxy.patch 2012-01-12 14:06:57 +0000
19+++ debian/patches/043_ubuntu_menu_proxy.patch 2012-01-24 19:56:24 +0000
20@@ -3,11 +3,11 @@
21 ## Bug: bug URL
22 Description: Add GtkMenuProxy support for remoting menus.
23
24-Index: gtk+3.0-3.3.6/gtk/gtk.h
25+Index: gtk+3.0-3.3.10/gtk/gtk.h
26 ===================================================================
27---- gtk+3.0-3.3.6.orig/gtk/gtk.h 2012-01-12 12:27:08.242524557 +0100
28-+++ gtk+3.0-3.3.6/gtk/gtk.h 2012-01-12 12:27:20.658524220 +0100
29-@@ -75,6 +75,8 @@
30+--- gtk+3.0-3.3.10.orig/gtk/gtk.h 2012-01-09 20:02:21.000000000 +0100
31++++ gtk+3.0-3.3.10/gtk/gtk.h 2012-01-24 16:52:08.934515532 +0100
32+@@ -76,6 +76,8 @@
33 #include <gtk/gtkcellview.h>
34 #include <gtk/gtkcheckbutton.h>
35 #include <gtk/gtkcheckmenuitem.h>
36@@ -16,10 +16,10 @@
37 #include <gtk/gtkclipboard.h>
38 #include <gtk/gtkcolorbutton.h>
39 #include <gtk/gtkcolorsel.h>
40-Index: gtk+3.0-3.3.6/gtk/gtkmenubar.c
41+Index: gtk+3.0-3.3.10/gtk/gtkmenubar.c
42 ===================================================================
43---- gtk+3.0-3.3.6.orig/gtk/gtkmenubar.c 2012-01-12 12:27:08.222524558 +0100
44-+++ gtk+3.0-3.3.6/gtk/gtkmenubar.c 2012-01-12 12:27:20.658524220 +0100
45+--- gtk+3.0-3.3.10.orig/gtk/gtkmenubar.c 2012-01-05 20:19:33.000000000 +0100
46++++ gtk+3.0-3.3.10/gtk/gtkmenubar.c 2012-01-24 16:56:16.378519243 +0100
47 @@ -67,9 +67,9 @@
48 {
49 GtkPackDirection pack_direction;
50@@ -60,7 +60,16 @@
51
52 menu_shell_class->submenu_placement = GTK_TOP_BOTTOM;
53 menu_shell_class->get_popup_delay = gtk_menu_bar_get_popup_delay;
54-@@ -346,6 +351,9 @@
55+@@ -242,6 +247,8 @@
56+ GTK_TYPE_MENU_BAR,
57+ GtkMenuBarPrivate);
58+
59++ menu_bar->priv->shell_shows = (ubuntu_menu_proxy_get () != NULL);
60++
61+ context = gtk_widget_get_style_context (GTK_WIDGET (menu_bar));
62+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_MENUBAR);
63+ }
64+@@ -346,6 +353,9 @@
65 menu_shell = GTK_MENU_SHELL (widget);
66 priv = menu_bar->priv;
67
68@@ -70,7 +79,7 @@
69 children = menu_shell->priv->children;
70
71 if (priv->child_pack_direction == GTK_PACK_DIRECTION_LTR ||
72-@@ -477,6 +485,27 @@
73+@@ -477,6 +487,27 @@
74 menu_shell = GTK_MENU_SHELL (widget);
75 priv = menu_bar->priv;
76
77@@ -98,7 +107,7 @@
78 gtk_widget_set_allocation (widget, allocation);
79
80 if (gtk_widget_get_realized (widget))
81-@@ -631,6 +660,46 @@
82+@@ -631,6 +662,52 @@
83 }
84 }
85
86@@ -123,11 +132,14 @@
87 +
88 + GTK_WIDGET_CLASS (gtk_menu_bar_parent_class)->realize (widget);
89 +
90-+ settings = gtk_widget_get_settings (widget);
91++ if (ubuntu_menu_proxy_get ())
92++ {
93++ settings = gtk_widget_get_settings (widget);
94 +
95-+ g_signal_connect (settings, "notify::gtk-shell-shows-menubar",
96-+ G_CALLBACK (gtk_menu_bar_shell_shows_menubar_cb), widget);
97-+ gtk_menu_bar_shell_shows_menubar_cb (settings, NULL, widget);
98++ g_signal_connect (settings, "notify::gtk-shell-shows-menubar",
99++ G_CALLBACK (gtk_menu_bar_shell_shows_menubar_cb), widget);
100++ gtk_menu_bar_shell_shows_menubar_cb (settings, NULL, widget);
101++ }
102 +}
103 +
104 +static void
105@@ -135,9 +147,12 @@
106 +{
107 + GtkSettings *settings;
108 +
109-+ settings = gtk_widget_get_settings (widget);
110++ if (ubuntu_menu_proxy_get ())
111++ {
112++ settings = gtk_widget_get_settings (widget);
113 +
114-+ g_signal_handlers_disconnect_by_func (settings, gtk_menu_bar_shell_shows_menubar_cb, widget);
115++ g_signal_handlers_disconnect_by_func (settings, gtk_menu_bar_shell_shows_menubar_cb, widget);
116++ }
117 +
118 + GTK_WIDGET_CLASS (gtk_menu_bar_parent_class)->unrealize (widget);
119 +}
120@@ -145,7 +160,7 @@
121 static gint
122 gtk_menu_bar_draw (GtkWidget *widget,
123 cairo_t *cr)
124-@@ -739,8 +808,16 @@
125+@@ -739,8 +816,16 @@
126 {
127 GtkMenuShell *menu_shell = GTK_MENU_SHELL (menubars->data);
128
129@@ -164,7 +179,7 @@
130
131 g_list_free (menubars);
132
133-@@ -807,6 +884,16 @@
134+@@ -807,6 +892,16 @@
135 add_to_window (GTK_WINDOW (toplevel), menubar);
136 }
137
138@@ -181,10 +196,10 @@
139 /**
140 * _gtk_menu_bar_cycle_focus:
141 * @menubar: a #GtkMenuBar
142-Index: gtk+3.0-3.3.6/gtk/gtkmenuitem.c
143+Index: gtk+3.0-3.3.10/gtk/gtkmenuitem.c
144 ===================================================================
145---- gtk+3.0-3.3.6.orig/gtk/gtkmenuitem.c 2012-01-12 12:27:08.250524556 +0100
146-+++ gtk+3.0-3.3.6/gtk/gtkmenuitem.c 2012-01-12 12:27:20.658524220 +0100
147+--- gtk+3.0-3.3.10.orig/gtk/gtkmenuitem.c 2012-01-05 20:19:33.000000000 +0100
148++++ gtk+3.0-3.3.10/gtk/gtkmenuitem.c 2012-01-24 16:52:08.938515532 +0100
149 @@ -38,6 +38,7 @@
150 #include "gtkmenuprivate.h"
151 #include "gtkseparatormenuitem.h"
152@@ -213,10 +228,10 @@
153
154 return TRUE;
155 }
156-Index: gtk+3.0-3.3.6/gtk/gtkmenushell.c
157+Index: gtk+3.0-3.3.10/gtk/gtkmenushell.c
158 ===================================================================
159---- gtk+3.0-3.3.6.orig/gtk/gtkmenushell.c 2012-01-12 12:27:08.262524556 +0100
160-+++ gtk+3.0-3.3.6/gtk/gtkmenushell.c 2012-01-12 12:27:52.390523357 +0100
161+--- gtk+3.0-3.3.10.orig/gtk/gtkmenushell.c 2012-01-05 20:19:33.000000000 +0100
162++++ gtk+3.0-3.3.10/gtk/gtkmenushell.c 2012-01-24 16:52:08.938515532 +0100
163 @@ -48,6 +48,7 @@
164 #include "gtkmenuitemprivate.h"
165 #include "gtkmenushellprivate.h"
166@@ -309,10 +324,10 @@
167 /**
168 * gtk_menu_shell_get_selected_item:
169 * @menu_shell: a #GtkMenuShell
170-Index: gtk+3.0-3.3.6/gtk/gtkmenushellprivate.h
171+Index: gtk+3.0-3.3.10/gtk/gtkmenushellprivate.h
172 ===================================================================
173---- gtk+3.0-3.3.6.orig/gtk/gtkmenushellprivate.h 2012-01-12 12:27:08.198524557 +0100
174-+++ gtk+3.0-3.3.6/gtk/gtkmenushellprivate.h 2012-01-12 12:27:20.658524220 +0100
175+--- gtk+3.0-3.3.10.orig/gtk/gtkmenushellprivate.h 2011-11-07 19:47:35.000000000 +0100
176++++ gtk+3.0-3.3.10/gtk/gtkmenushellprivate.h 2012-01-24 16:52:08.942515530 +0100
177 @@ -24,6 +24,7 @@
178 #include <gtk/gtkmenushell.h>
179 #include <gtk/gtkmnemonichash.h>
180@@ -330,11 +345,11 @@
181 };
182
183 void _gtk_menu_shell_select_last (GtkMenuShell *menu_shell,
184-Index: gtk+3.0-3.3.6/gtk/gtk.symbols
185+Index: gtk+3.0-3.3.10/gtk/gtk.symbols
186 ===================================================================
187---- gtk+3.0-3.3.6.orig/gtk/gtk.symbols 2012-01-12 12:27:08.206524558 +0100
188-+++ gtk+3.0-3.3.6/gtk/gtk.symbols 2012-01-12 12:27:20.662524220 +0100
189-@@ -3882,3 +3882,9 @@
190+--- gtk+3.0-3.3.10.orig/gtk/gtk.symbols 2012-01-16 22:15:20.000000000 +0100
191++++ gtk+3.0-3.3.10/gtk/gtk.symbols 2012-01-24 16:52:08.942515530 +0100
192+@@ -3907,3 +3907,9 @@
193 gtk_window_unmaximize
194 gtk_window_unstick
195 gtk_wrap_mode_get_type
196@@ -344,11 +359,11 @@
197 +ubuntu_menu_proxy_insert
198 +ubuntu_menu_proxy_module_get_type
199 +ubuntu_menu_proxy_module_get
200-Index: gtk+3.0-3.3.6/gtk/gtkwindow.c
201+Index: gtk+3.0-3.3.10/gtk/gtkwindow.c
202 ===================================================================
203---- gtk+3.0-3.3.6.orig/gtk/gtkwindow.c 2012-01-12 12:27:08.214524557 +0100
204-+++ gtk+3.0-3.3.6/gtk/gtkwindow.c 2012-01-12 12:27:20.662524220 +0100
205-@@ -118,6 +118,8 @@
206+--- gtk+3.0-3.3.10.orig/gtk/gtkwindow.c 2012-01-20 14:17:35.000000000 +0100
207++++ gtk+3.0-3.3.10/gtk/gtkwindow.c 2012-01-24 16:52:08.946515528 +0100
208+@@ -121,6 +121,8 @@
209
210 GdkWindow *grip_window;
211
212@@ -357,7 +372,7 @@
213 gchar *startup_id;
214 gchar *title;
215 gchar *wmclass_class;
216-@@ -225,6 +227,7 @@
217+@@ -229,6 +231,7 @@
218 PROP_HAS_RESIZE_GRIP,
219 PROP_RESIZE_GRIP_VISIBLE,
220 PROP_APPLICATION,
221@@ -365,7 +380,7 @@
222 /* Readonly properties */
223 PROP_IS_ACTIVE,
224 PROP_HAS_TOPLEVEL_FOCUS,
225-@@ -631,6 +634,14 @@
226+@@ -635,6 +638,14 @@
227 NULL,
228 GTK_PARAM_READWRITE));
229
230@@ -380,7 +395,7 @@
231 /**
232 * GtkWindow:startup-id:
233 *
234-@@ -1290,6 +1301,9 @@
235+@@ -1318,6 +1329,9 @@
236 case PROP_FOCUS_VISIBLE:
237 gtk_window_set_focus_visible (window, g_value_get_boolean (value));
238 break;
239@@ -390,7 +405,7 @@
240 default:
241 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
242 break;
243-@@ -1414,6 +1428,9 @@
244+@@ -1445,6 +1459,9 @@
245 case PROP_FOCUS_VISIBLE:
246 g_value_set_boolean (value, priv->focus_visible);
247 break;
248@@ -400,11 +415,11 @@
249 default:
250 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
251 break;
252-Index: gtk+3.0-3.3.6/gtk/Makefile.am
253+Index: gtk+3.0-3.3.10/gtk/Makefile.am
254 ===================================================================
255---- gtk+3.0-3.3.6.orig/gtk/Makefile.am 2012-01-12 12:27:08.270524556 +0100
256-+++ gtk+3.0-3.3.6/gtk/Makefile.am 2012-01-12 12:27:20.662524220 +0100
257-@@ -267,6 +267,8 @@
258+--- gtk+3.0-3.3.10.orig/gtk/Makefile.am 2012-01-20 14:12:28.000000000 +0100
259++++ gtk+3.0-3.3.10/gtk/Makefile.am 2012-01-24 16:52:08.946515528 +0100
260+@@ -268,6 +268,8 @@
261 gtkmenu.h \
262 gtkmenubar.h \
263 gtkmenuitem.h \
264@@ -413,7 +428,7 @@
265 gtkmenushell.h \
266 gtkmenutoolbutton.h \
267 gtkmessagedialog.h \
268-@@ -634,6 +636,8 @@
269+@@ -664,6 +666,8 @@
270 gtkmenu.c \
271 gtkmenubar.c \
272 gtkmenuitem.c \
273@@ -422,10 +437,10 @@
274 gtkmenushell.c \
275 gtkmenutoolbutton.c \
276 gtkmessagedialog.c \
277-Index: gtk+3.0-3.3.6/gtk/ubuntumenuproxy.c
278+Index: gtk+3.0-3.3.10/gtk/ubuntumenuproxy.c
279 ===================================================================
280 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
281-+++ gtk+3.0-3.3.6/gtk/ubuntumenuproxy.c 2012-01-12 12:27:20.662524220 +0100
282++++ gtk+3.0-3.3.10/gtk/ubuntumenuproxy.c 2012-01-24 16:52:08.946515528 +0100
283 @@ -0,0 +1,246 @@
284 +/*
285 + * Copyright (C) 2010 Canonical, Ltd.
286@@ -673,10 +688,10 @@
287 +{
288 + g_signal_emit (proxy, menu_proxy_signals[ACTIVATE_MENU], 0, widget);
289 +}
290-Index: gtk+3.0-3.3.6/gtk/ubuntumenuproxy.h
291+Index: gtk+3.0-3.3.10/gtk/ubuntumenuproxy.h
292 ===================================================================
293 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
294-+++ gtk+3.0-3.3.6/gtk/ubuntumenuproxy.h 2012-01-12 12:27:20.666524219 +0100
295++++ gtk+3.0-3.3.10/gtk/ubuntumenuproxy.h 2012-01-24 16:52:08.946515528 +0100
296 @@ -0,0 +1,73 @@
297 +/*
298 + * Copyright (C) 2010 Canonical, Ltd.
299@@ -751,10 +766,10 @@
300 +G_END_DECLS
301 +
302 +#endif /* __UBUNTU_MENU_PROXY_H__ */
303-Index: gtk+3.0-3.3.6/gtk/ubuntumenuproxymodule.c
304+Index: gtk+3.0-3.3.10/gtk/ubuntumenuproxymodule.c
305 ===================================================================
306 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
307-+++ gtk+3.0-3.3.6/gtk/ubuntumenuproxymodule.c 2012-01-12 12:27:20.666524219 +0100
308++++ gtk+3.0-3.3.10/gtk/ubuntumenuproxymodule.c 2012-01-24 16:52:08.946515528 +0100
309 @@ -0,0 +1,210 @@
310 +/*
311 + * Copyright (C) 2010 Canonical, Ltd.
312@@ -966,10 +981,10 @@
313 +
314 + return proxy_module_singleton;
315 +}
316-Index: gtk+3.0-3.3.6/gtk/ubuntumenuproxymodule.h
317+Index: gtk+3.0-3.3.10/gtk/ubuntumenuproxymodule.h
318 ===================================================================
319 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
320-+++ gtk+3.0-3.3.6/gtk/ubuntumenuproxymodule.h 2012-01-12 12:27:20.666524219 +0100
321++++ gtk+3.0-3.3.10/gtk/ubuntumenuproxymodule.h 2012-01-24 16:52:08.946515528 +0100
322 @@ -0,0 +1,69 @@
323 +/*
324 + * Copyright (C) 2010 Canonical, Ltd.
325@@ -1040,10 +1055,10 @@
326 +G_END_DECLS
327 +
328 +#endif /* __UBUNTU_MENU_PROXY_MODULE_H__ */
329-Index: gtk+3.0-3.3.6/gtk/gtkmnemonichash.c
330+Index: gtk+3.0-3.3.10/gtk/gtkmnemonichash.c
331 ===================================================================
332---- gtk+3.0-3.3.6.orig/gtk/gtkmnemonichash.c 2012-01-12 12:27:08.254524557 +0100
333-+++ gtk+3.0-3.3.6/gtk/gtkmnemonichash.c 2012-01-12 12:27:20.666524219 +0100
334+--- gtk+3.0-3.3.10.orig/gtk/gtkmnemonichash.c 2011-08-16 04:04:34.000000000 +0200
335++++ gtk+3.0-3.3.10/gtk/gtkmnemonichash.c 2012-01-24 16:52:08.946515528 +0100
336 @@ -20,6 +20,9 @@
337 */
338

Subscribers

People subscribed via source and target branches

to all changes: