[gnome-initial-setup/fix-account-local-enterprise-switch: 1/2] account: disconnect from GNetworkMonitor on dispose



commit 184cfe8b0994f4afb168cfabaa559019b2fe05f7
Author: Will Thompson <will willthompson co uk>
Date:   Fri Mar 1 14:52:23 2019 +0000

    account: disconnect from GNetworkMonitor on dispose
    
    When the language is changed (on the first page), all subsequent pages
    (including this one) are torn down and recreated. Previously, a callback
    was left attached to GNetworkMonitor::network-changed, with user data
    pointing to a freed GisAccountPage.
    
    Use g_signal_connect_object() to remove the handler when 'page' is
    disposed.

 gnome-initial-setup/pages/account/gis-account-page.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/gnome-initial-setup/pages/account/gis-account-page.c 
b/gnome-initial-setup/pages/account/gis-account-page.c
index f15182e..e485d31 100644
--- a/gnome-initial-setup/pages/account/gis-account-page.c
+++ b/gnome-initial-setup/pages/account/gis-account-page.c
@@ -253,7 +253,7 @@ gis_account_page_constructed (GObject *object)
   monitor = g_network_monitor_get_default ();
   available = g_network_monitor_get_network_available (monitor);
   on_network_changed (monitor, available, page);
-  g_signal_connect (monitor, "network-changed", G_CALLBACK (on_network_changed), page);
+  g_signal_connect_object (monitor, "network-changed", G_CALLBACK (on_network_changed), page, 0);
 
   gtk_widget_show (GTK_WIDGET (page));
 }


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