diff options
author | Ted Gould <ted@gould.cx> | 2011-03-01 11:12:10 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-03-01 11:12:10 -0600 |
commit | b0dc6fe5735df50b2e4e29d45e1a44da159c698e (patch) | |
tree | 1f6cc2955fc999062ce782fcd375c4329acdab61 | |
parent | 5c158235fd352639dee76cf27ae1d186a502d35a (diff) | |
parent | ac984fac079ac48c7687aea3dce5808ace890b3f (diff) | |
download | libdbusmenu-b0dc6fe5735df50b2e4e29d45e1a44da159c698e.tar.gz libdbusmenu-b0dc6fe5735df50b2e4e29d45e1a44da159c698e.tar.bz2 libdbusmenu-b0dc6fe5735df50b2e4e29d45e1a44da159c698e.zip |
Making sure to disconnect all signal handlers.
-rw-r--r-- | libdbusmenu-gtk/parser.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c index 97f7979..8045b7f 100644 --- a/libdbusmenu-gtk/parser.c +++ b/libdbusmenu-gtk/parser.c @@ -129,6 +129,12 @@ parse_data_free (gpointer data) 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); } |