ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #03228
[Merge] lp:~mterry/dbusmenu/disconnect-more-signals into lp:dbusmenu
Michael Terry has proposed merging lp:~mterry/dbusmenu/disconnect-more-signals into lp:dbusmenu.
Requested reviews:
DBus Menu Team (dbusmenu-team)
Related bugs:
#726153 bluefish crashed with SIGSEGV in dbusmenu_menuitem_property_set_shortcut_menuitem()
https://bugs.launchpad.net/bugs/726153
For more details, see:
https://code.launchpad.net/~mterry/dbusmenu/disconnect-more-signals/+merge/51550
Bug 726153 looks like similar 'failed to disconnect from signal' crashes we've seen. Here are 3 more missing signal disconnections I found, including the one that seemed to cause that crash.
--
https://code.launchpad.net/~mterry/dbusmenu/disconnect-more-signals/+merge/51550
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
=== modified file 'libdbusmenu-gtk/parser.c'
--- libdbusmenu-gtk/parser.c 2011-02-24 17:23:47 +0000
+++ libdbusmenu-gtk/parser.c 2011-02-28 14:59:27 +0000
@@ -129,6 +129,12 @@
if (pdata != NULL && pdata->widget != NULL) {
g_signal_handlers_disconnect_matched(pdata->widget, (GSignalMatchType)G_SIGNAL_MATCH_FUNC,
0, 0, NULL, G_CALLBACK(widget_notify_cb), NULL);
+ g_signal_handlers_disconnect_matched(pdata->widget, (GSignalMatchType)G_SIGNAL_MATCH_FUNC,
+ 0, 0, NULL, G_CALLBACK(accel_changed), NULL);
+ g_signal_handlers_disconnect_matched(pdata->widget, (GSignalMatchType)G_SIGNAL_MATCH_FUNC,
+ 0, 0, NULL, G_CALLBACK(checkbox_toggled), NULL);
+ g_signal_handlers_disconnect_matched(pdata->widget, (GSignalMatchType)G_SIGNAL_MATCH_FUNC,
+ 0, 0, NULL, G_CALLBACK(menuitem_notify_cb), NULL);
g_object_remove_weak_pointer(G_OBJECT(pdata->widget), (gpointer*)&pdata->widget);
}
Follow ups