[applet PATCH] wwan: make sure MM1 object signals are disconnected (rh #1083727)



Otherwise if something else holds a reference to info->mm_modem, we
could end up triggering signal handlers after we've disposed of
'info'.
---
 src/applet-device-broadband.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/applet-device-broadband.c b/src/applet-device-broadband.c
index 6790993..4e9f205 100644
--- a/src/applet-device-broadband.c
+++ b/src/applet-device-broadband.c
@@ -948,16 +948,18 @@ broadband_device_info_free (BroadbandDeviceInfo *info)
 
        g_free (info->operator_name);
        if (info->mpd)
                g_object_unref (info->mpd);
 
        if (info->mm_sim)
                g_object_unref (info->mm_sim);
-       if (info->mm_modem)
+       if (info->mm_modem) {
+               g_signal_handlers_disconnect_matched (info->mm_modem, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, 
info);
                g_object_unref (info->mm_modem);
+       }
        if (info->mm_object)
                g_object_unref (info->mm_object);
 
        if (info->dialog)
                unlock_dialog_destroy (info);
        g_object_unref (info->cancellable);
 
-- 
1.9.0




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]