pidgin/pidgin

Parents 611ae5d8a232
Children f391d9d9352d
Use g_signal_connect_object for PidginProtocolStore to follow the life cycle of the objects and avoid memory errors.

Testing Done:
Ran locally in valgrind.

Before this patch, valgrind noticed `118 errors from 18 contexts` after this patch `14 errors from 5 contexts`.

Reviewed at https://reviews.imfreedom.org/r/458/
--- a/pidgin/pidginprotocolstore.c Tue Jan 26 03:16:56 2021 -0600
+++ b/pidgin/pidginprotocolstore.c Wed Jan 27 23:29:08 2021 -0600
@@ -151,10 +151,12 @@
/* add the signal handlers to dynamically add/remove protocols */
manager = purple_protocol_manager_get_default();
- g_signal_connect(G_OBJECT(manager), "registered",
- G_CALLBACK(pidgin_protocol_store_registered_cb), store);
- g_signal_connect(G_OBJECT(manager), "unregistered",
- G_CALLBACK(pidgin_protocol_store_unregistered_cb), store);
+ g_signal_connect_object(G_OBJECT(manager), "registered",
+ G_CALLBACK(pidgin_protocol_store_registered_cb),
+ store, 0);
+ g_signal_connect_object(G_OBJECT(manager), "unregistered",
+ G_CALLBACK(pidgin_protocol_store_unregistered_cb),
+ store, 0);
}
static void