Merge lp:~dbusmenu-team/libdbusmenu/ubuntu into lp:~ubuntu-desktop/libdbusmenu/ubuntu

Proposed by Ted Gould
Status: Merged
Approved by: Ken VanDine
Approved revision: no longer in the source branch.
Merged at revision: 115
Proposed branch: lp:~dbusmenu-team/libdbusmenu/ubuntu
Merge into: lp:~ubuntu-desktop/libdbusmenu/ubuntu
Diff against target: 308 lines (+81/-20)
9 files modified
ChangeLog (+16/-0)
configure (+11/-11)
configure.ac (+3/-3)
debian/changelog (+7/-0)
docs/libdbusmenu-glib/reference/html/ch01.html (+1/-1)
docs/libdbusmenu-glib/reference/version.xml (+1/-1)
docs/libdbusmenu-gtk/reference/html/ch01.html (+1/-1)
docs/libdbusmenu-gtk/reference/version.xml (+1/-1)
libdbusmenu-gtk/parser.c (+40/-2)
To merge this branch: bzr merge lp:~dbusmenu-team/libdbusmenu/ubuntu
Reviewer Review Type Date Requested Status
Ken VanDine Approve
Review via email: mp+48542@code.launchpad.net

Description of the change

Fun!

To post a comment you must log in.
Revision history for this message
Ken VanDine (ken-vandine) wrote :

Looks good

review: Approve
lp:~dbusmenu-team/libdbusmenu/ubuntu updated
115. By Ken VanDine

releasing version 0.3.96-0ubuntu1

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2011-01-31 21:45:33 +0000
3+++ ChangeLog 2011-02-03 20:16:14 +0000
4@@ -1,5 +1,21 @@
5 # Generated by Makefile. Do not edit.
6
7+2011-02-03 Ted Gould <ted@gould.cx>
8+
9+ 0.3.96
10+
11+2011-02-03 Ted Gould <ted@gould.cx>
12+
13+ Ensure that we remove signals from the objects we put them on.
14+
15+2011-02-03 Michael Terry <mike@mterry.name>
16+
17+ keep track of objects that we set notifies for
18+
19+2011-02-02 Michael Terry <mike@mterry.name>
20+
21+ disconnect signals when done with menuitem
22+
23 2011-01-31 Ted Gould <ted@gould.cx>
24
25 0.3.95
26
27=== modified file 'configure'
28--- configure 2011-01-31 21:52:26 +0000
29+++ configure 2011-02-03 20:16:14 +0000
30@@ -1,6 +1,6 @@
31 #! /bin/sh
32 # Guess values for system-dependent variables and create Makefiles.
33-# Generated by GNU Autoconf 2.67 for libdbusmenu 0.3.95.
34+# Generated by GNU Autoconf 2.67 for libdbusmenu 0.3.96.
35 #
36 # Report bugs to <ted@canonical.com>.
37 #
38@@ -703,8 +703,8 @@
39 # Identity of this package.
40 PACKAGE_NAME='libdbusmenu'
41 PACKAGE_TARNAME='libdbusmenu'
42-PACKAGE_VERSION='0.3.95'
43-PACKAGE_STRING='libdbusmenu 0.3.95'
44+PACKAGE_VERSION='0.3.96'
45+PACKAGE_STRING='libdbusmenu 0.3.96'
46 PACKAGE_BUGREPORT='ted@canonical.com'
47 PACKAGE_URL=''
48
49@@ -1540,7 +1540,7 @@
50 # Omit some internal or obsolete options to make the list less imposing.
51 # This message is too long to be a string in the A/UX 3.1 sh.
52 cat <<_ACEOF
53-\`configure' configures libdbusmenu 0.3.95 to adapt to many kinds of systems.
54+\`configure' configures libdbusmenu 0.3.96 to adapt to many kinds of systems.
55
56 Usage: $0 [OPTION]... [VAR=VALUE]...
57
58@@ -1610,7 +1610,7 @@
59
60 if test -n "$ac_init_help"; then
61 case $ac_init_help in
62- short | recursive ) echo "Configuration of libdbusmenu 0.3.95:";;
63+ short | recursive ) echo "Configuration of libdbusmenu 0.3.96:";;
64 esac
65 cat <<\_ACEOF
66
67@@ -1750,7 +1750,7 @@
68 test -n "$ac_init_help" && exit $ac_status
69 if $ac_init_version; then
70 cat <<\_ACEOF
71-libdbusmenu configure 0.3.95
72+libdbusmenu configure 0.3.96
73 generated by GNU Autoconf 2.67
74
75 Copyright (C) 2010 Free Software Foundation, Inc.
76@@ -2121,7 +2121,7 @@
77 This file contains any messages produced by compilers while
78 running configure, to aid debugging if configure makes a mistake.
79
80-It was created by libdbusmenu $as_me 0.3.95, which was
81+It was created by libdbusmenu $as_me 0.3.96, which was
82 generated by GNU Autoconf 2.67. Invocation command line was
83
84 $ $0 $@
85@@ -2942,7 +2942,7 @@
86
87 # Define the identity of the package.
88 PACKAGE=libdbusmenu
89- VERSION=0.3.95
90+ VERSION=0.3.96
91
92
93 # Some tools Automake needs.
94@@ -13280,7 +13280,7 @@
95 ###########################
96
97 LIBDBUSMENU_CURRENT=3
98-LIBDBUSMENU_REVISION=3
99+LIBDBUSMENU_REVISION=4
100 LIBDBUSMENU_AGE=0
101
102
103@@ -14602,7 +14602,7 @@
104 # report actual input values of CONFIG_FILES etc. instead of their
105 # values after options handling.
106 ac_log="
107-This file was extended by libdbusmenu $as_me 0.3.95, which was
108+This file was extended by libdbusmenu $as_me 0.3.96, which was
109 generated by GNU Autoconf 2.67. Invocation command line was
110
111 CONFIG_FILES = $CONFIG_FILES
112@@ -14668,7 +14668,7 @@
113 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
114 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
115 ac_cs_version="\\
116-libdbusmenu config.status 0.3.95
117+libdbusmenu config.status 0.3.96
118 configured by $0, generated by GNU Autoconf 2.67,
119 with options \\"\$ac_cs_config\\"
120
121
122=== modified file 'configure.ac'
123--- configure.ac 2011-01-31 21:52:26 +0000
124+++ configure.ac 2011-02-03 20:16:14 +0000
125@@ -1,11 +1,11 @@
126
127-AC_INIT(libdbusmenu, 0.3.95, ted@canonical.com)
128+AC_INIT(libdbusmenu, 0.3.96, ted@canonical.com)
129 AC_COPYRIGHT([Copyright 2009,2010 Canonical])
130
131 AC_PREREQ(2.62)
132
133 AM_CONFIG_HEADER(config.h)
134-AM_INIT_AUTOMAKE(libdbusmenu, 0.3.95, [-Wno-portability])
135+AM_INIT_AUTOMAKE(libdbusmenu, 0.3.96, [-Wno-portability])
136
137 AM_MAINTAINER_MODE
138
139@@ -136,7 +136,7 @@
140 ###########################
141
142 LIBDBUSMENU_CURRENT=3
143-LIBDBUSMENU_REVISION=3
144+LIBDBUSMENU_REVISION=4
145 LIBDBUSMENU_AGE=0
146
147 AC_SUBST(LIBDBUSMENU_CURRENT)
148
149=== modified file 'debian/changelog'
150--- debian/changelog 2011-01-31 22:30:46 +0000
151+++ debian/changelog 2011-02-03 20:16:14 +0000
152@@ -1,3 +1,10 @@
153+libdbusmenu (0.3.96-0ubuntu1~ppa1) natty; urgency=low
154+
155+ * New upstream release.
156+ * Remove signal handlers for correct objects
157+
158+ -- Ted Gould <ted@ubuntu.com> Thu, 03 Feb 2011 14:11:16 -0600
159+
160 libdbusmenu (0.3.95-0ubuntu1) natty; urgency=low
161
162 * New upstream release.
163
164=== modified file 'docs/libdbusmenu-glib/reference/html/ch01.html'
165--- docs/libdbusmenu-glib/reference/html/ch01.html 2011-01-27 20:19:46 +0000
166+++ docs/libdbusmenu-glib/reference/html/ch01.html 2011-02-03 20:16:14 +0000
167@@ -21,7 +21,7 @@
168 </tr></table>
169 <div class="chapter">
170 <div class="titlepage"><div><div><h2 class="title">
171-<a name="id553671"></a>API</h2></div></div></div>
172+<a name="id450827"></a>API</h2></div></div></div>
173 <div class="toc"><dl>
174 <dt>
175 <span class="refentrytitle"><a href="libdbusmenu-glib-DbusmenuServer.html">DbusmenuServer</a></span><span class="refpurpose"></span>
176
177=== modified file 'docs/libdbusmenu-glib/reference/version.xml'
178--- docs/libdbusmenu-glib/reference/version.xml 2011-01-31 21:52:26 +0000
179+++ docs/libdbusmenu-glib/reference/version.xml 2011-02-03 20:16:14 +0000
180@@ -1,1 +1,1 @@
181-0.3.95
182+0.3.96
183
184=== modified file 'docs/libdbusmenu-gtk/reference/html/ch01.html'
185--- docs/libdbusmenu-gtk/reference/html/ch01.html 2011-01-27 20:19:46 +0000
186+++ docs/libdbusmenu-gtk/reference/html/ch01.html 2011-02-03 20:16:14 +0000
187@@ -21,7 +21,7 @@
188 </tr></table>
189 <div class="chapter">
190 <div class="titlepage"><div><div><h2 class="title">
191-<a name="id525169"></a>API</h2></div></div></div>
192+<a name="id338562"></a>API</h2></div></div></div>
193 <div class="toc"><dl>
194 <dt>
195 <span class="refentrytitle"><a href="libdbusmenu-gtk-DbusmenuGtkMenu.html">DbusmenuGtkMenu</a></span><span class="refpurpose"></span>
196
197=== modified file 'docs/libdbusmenu-gtk/reference/version.xml'
198--- docs/libdbusmenu-gtk/reference/version.xml 2011-01-31 21:52:26 +0000
199+++ docs/libdbusmenu-gtk/reference/version.xml 2011-02-03 20:16:14 +0000
200@@ -1,1 +1,1 @@
201-0.3.95
202+0.3.96
203
204=== modified file 'libdbusmenu-gtk/parser.c'
205--- libdbusmenu-gtk/parser.c 2011-01-31 21:52:26 +0000
206+++ libdbusmenu-gtk/parser.c 2011-02-03 20:16:14 +0000
207@@ -31,6 +31,14 @@
208 #include "serializablemenuitem.h"
209
210 #define CACHED_MENUITEM "dbusmenu-gtk-parser-cached-item"
211+#define PARSER_DATA "dbusmenu-gtk-parser-data"
212+
213+typedef struct _ParserData
214+{
215+ GtkWidget *label;
216+ GtkAction *action;
217+ GtkWidget *widget;
218+} ParserData;
219
220 typedef struct _RecurseContext
221 {
222@@ -102,6 +110,24 @@
223 the weak ref as well. */
224 g_object_steal_data(G_OBJECT(data), CACHED_MENUITEM);
225 g_signal_handlers_disconnect_by_func(data, G_CALLBACK(widget_notify_cb), obj);
226+
227+ ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(obj), PARSER_DATA);
228+
229+ if (pdata != NULL && pdata->label != NULL) {
230+ g_signal_handlers_disconnect_by_func(pdata->label, G_CALLBACK(label_notify_cb), obj);
231+ g_object_remove_weak_pointer(G_OBJECT(pdata->label), (gpointer*)&pdata->label);
232+ }
233+
234+ if (pdata != NULL && pdata->action != NULL) {
235+ g_signal_handlers_disconnect_by_func(pdata->action, G_CALLBACK(action_notify_cb), obj);
236+ g_object_remove_weak_pointer(G_OBJECT(pdata->action), (gpointer*)&pdata->action);
237+ }
238+
239+ if (pdata != NULL && pdata->widget != NULL) {
240+ g_signal_handlers_disconnect_by_func(pdata->widget, G_CALLBACK(widget_notify_cb), obj);
241+ g_object_remove_weak_pointer(G_OBJECT(pdata->widget), (gpointer*)&pdata->widget);
242+ }
243+
244 return;
245 }
246
247@@ -110,8 +136,10 @@
248 static void
249 object_cache_freed (gpointer data)
250 {
251- if (!G_IS_OBJECT(data)) return;
252- g_object_weak_unref(G_OBJECT(data), dbusmenu_cache_freed, data);
253+ // TODO: make this have access to both data and obj so we can call these
254+ //if (!G_IS_OBJECT(obj)) return;
255+ //g_object_weak_unref(G_OBJECT(obj), dbusmenu_cache_freed, data);
256+ //dbusmenu_cache_freed(data, obj);
257 return;
258 }
259
260@@ -239,6 +267,9 @@
261 {
262 DbusmenuMenuitem *mi = dbusmenu_menuitem_new ();
263
264+ ParserData *pdata = g_new0 (ParserData, 1);
265+ g_object_set_data_full (G_OBJECT (mi), PARSER_DATA, pdata, g_free);
266+
267 gboolean visible = FALSE;
268 gboolean sensitive = FALSE;
269 if (GTK_IS_SEPARATOR_MENU_ITEM (widget))
270@@ -313,10 +344,12 @@
271 {
272 // Sometimes, an app will directly find and modify the label
273 // (like empathy), so watch the label especially for that.
274+ pdata->label = label;
275 g_signal_connect (G_OBJECT (label),
276 "notify",
277 G_CALLBACK (label_notify_cb),
278 mi);
279+ g_object_add_weak_pointer(G_OBJECT (label), (gpointer*)&pdata->label);
280 }
281
282 if (GTK_IS_ACTIVATABLE (widget))
283@@ -332,10 +365,12 @@
284 visible = gtk_action_is_visible (action);
285 sensitive = gtk_action_is_sensitive (action);
286
287+ pdata->action = action;
288 g_signal_connect_object (action, "notify",
289 G_CALLBACK (action_notify_cb),
290 mi,
291 G_CONNECT_AFTER);
292+ g_object_add_weak_pointer(G_OBJECT (action), (gpointer*)&pdata->action);
293 }
294 }
295 }
296@@ -367,10 +402,13 @@
297 DBUSMENU_MENUITEM_PROP_ENABLED,
298 sensitive);
299
300+ pdata->widget = widget;
301 g_signal_connect (widget,
302 "notify",
303 G_CALLBACK (widget_notify_cb),
304 mi);
305+ g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget);
306+
307 return mi;
308 }
309

Subscribers

People subscribed via source and target branches

to all changes: