NetworkManager r3304 - in trunk: . src



Author: dcbw
Date: Sun Feb 10 17:23:23 2008
New Revision: 3304
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=3304&view=rev

Log:
2008-02-10  Dan Williams  <dcbw redhat com>

	* src/nm-device-802-3-ethernet.c
		- (real_bring_up): save the supplicant interface state signal id
		- (real_bring_down): disconnect from the supplicant interface state
			signal



Modified:
   trunk/ChangeLog
   trunk/src/nm-device-802-3-ethernet.c

Modified: trunk/src/nm-device-802-3-ethernet.c
==============================================================================
--- trunk/src/nm-device-802-3-ethernet.c	(original)
+++ trunk/src/nm-device-802-3-ethernet.c	Sun Feb 10 17:23:23 2008
@@ -56,7 +56,8 @@
 	gulong			link_connected_id;
 	gulong			link_disconnected_id;
 
-	NMSupplicantInterface *  sup_iface;
+	NMSupplicantInterface *sup_iface;
+	gulong			iface_state_id; 
 } NMDevice8023EthernetPrivate;
 
 enum {
@@ -216,6 +217,7 @@
 	NMDevice8023EthernetPrivate *priv = NM_DEVICE_802_3_ETHERNET_GET_PRIVATE (dev);
 	NMSupplicantManager *sup_mgr;
 	const char *iface;
+	gulong id;
 
 	iface = nm_device_get_iface (dev);
 	sup_mgr = nm_supplicant_manager_get ();
@@ -226,10 +228,11 @@
 		return FALSE;
 	}
 
-	g_signal_connect (priv->sup_iface,
-	                  "state",
-	                  G_CALLBACK (supplicant_iface_state_cb),
-	                  NM_DEVICE_802_3_ETHERNET (dev));
+	id = g_signal_connect (priv->sup_iface,
+	                       "state",
+	                       G_CALLBACK (supplicant_iface_state_cb),
+	                       NM_DEVICE_802_3_ETHERNET (dev));
+	priv->iface_state_id = id;
 
 	g_object_unref (sup_mgr);
 
@@ -245,6 +248,11 @@
 
 	sup_mgr = nm_supplicant_manager_get ();
 	if (priv->sup_iface) {
+		if (priv->iface_state_id > 0) {
+			g_signal_handler_disconnect (priv->sup_iface, priv->iface_state_id);
+			priv->iface_state_id = 0;
+		}
+
 		nm_supplicant_manager_release_iface (sup_mgr, priv->sup_iface);
 		priv->sup_iface = NULL;
 	}



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