Merge lp:~ted/libdbusmenu/lp950762 into lp:libdbusmenu/0.6

Proposed by Ted Gould
Status: Merged
Merged at revision: 384
Proposed branch: lp:~ted/libdbusmenu/lp950762
Merge into: lp:libdbusmenu/0.6
Diff against target: 41 lines (+12/-4)
1 file modified
libdbusmenu-gtk/parser.c (+12/-4)
To merge this branch: bzr merge lp:~ted/libdbusmenu/lp950762
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
DBus Menu Team Pending
Review via email: mp+96780@code.launchpad.net

Description of the change

Removes the handler in more cases.

To post a comment you must log in.
Revision history for this message
Charles Kerr (charlesk) wrote :

Looks fine.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'libdbusmenu-gtk/parser.c'
--- libdbusmenu-gtk/parser.c 2012-03-02 21:26:08 +0000
+++ libdbusmenu-gtk/parser.c 2012-03-09 15:23:22 +0000
@@ -229,7 +229,12 @@
229static void229static void
230widget_freed (gpointer data, GObject * obj)230widget_freed (gpointer data, GObject * obj)
231{231{
232 g_signal_handlers_disconnect_by_func(gtk_icon_theme_get_default(), G_CALLBACK(theme_changed_cb), obj);232 ParserData * pdata = (ParserData *)data;
233
234 if (pdata->theme_changed_sig != 0) {
235 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
236 pdata->theme_changed_sig = 0;
237 }
233238
234 return;239 return;
235}240}
@@ -242,9 +247,12 @@
242 ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(obj), PARSER_DATA);247 ParserData *pdata = (ParserData *)g_object_get_data(G_OBJECT(obj), PARSER_DATA);
243248
244 if (pdata != NULL && pdata->widget != NULL) {249 if (pdata != NULL && pdata->widget != NULL) {
245 g_signal_handlers_disconnect_by_func(gtk_icon_theme_get_default(), G_CALLBACK(theme_changed_cb), pdata->widget);250 if (pdata->theme_changed_sig != 0) {
251 g_signal_handler_disconnect(gtk_icon_theme_get_default(), pdata->theme_changed_sig);
252 pdata->theme_changed_sig = 0;
253 }
246 g_object_steal_data(G_OBJECT(pdata->widget), CACHED_MENUITEM);254 g_object_steal_data(G_OBJECT(pdata->widget), CACHED_MENUITEM);
247 g_object_weak_unref(G_OBJECT(pdata->widget), widget_freed, NULL);255 g_object_weak_unref(G_OBJECT(pdata->widget), widget_freed, pdata);
248 }256 }
249}257}
250258
@@ -286,7 +294,7 @@
286 g_object_set_data_full(G_OBJECT(item), PARSER_DATA, pdata, parse_data_free);294 g_object_set_data_full(G_OBJECT(item), PARSER_DATA, pdata, parse_data_free);
287295
288 g_object_weak_ref(G_OBJECT(item), dbusmenu_item_freed, NULL);296 g_object_weak_ref(G_OBJECT(item), dbusmenu_item_freed, NULL);
289 g_object_weak_ref(G_OBJECT(widget), widget_freed, NULL);297 g_object_weak_ref(G_OBJECT(widget), widget_freed, pdata);
290298
291 pdata->widget = widget;299 pdata->widget = widget;
292 g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget);300 g_object_add_weak_pointer(G_OBJECT (widget), (gpointer*)&pdata->widget);

Subscribers

People subscribed via source and target branches

to all changes: