NetworkManager r4093 - in trunk: . src/supplicant-manager
- From: tambeti svn gnome org
- To: svn-commits-list gnome org
- Subject: NetworkManager r4093 - in trunk: . src/supplicant-manager
- Date: Wed, 24 Sep 2008 11:45:44 +0000 (UTC)
Author: tambeti
Date: Wed Sep 24 11:45:44 2008
New Revision: 4093
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=4093&view=rev
Log:
2008-09-24 Tambet Ingo <tambet gmail com>
* src/supplicant-manager/nm-supplicant-interface.c
(nm_supplicant_interface_disconnect): Don't increment the reference
count when disconnecting. The problem is on shutdown, when the replies
to these commands do not arrive before NM exits, resulting on never
calling supplicant interface's dispose(), which removes the interface
from supplicant.
Modified:
trunk/ChangeLog
trunk/src/supplicant-manager/nm-supplicant-interface.c
Modified: trunk/src/supplicant-manager/nm-supplicant-interface.c
==============================================================================
--- trunk/src/supplicant-manager/nm-supplicant-interface.c (original)
+++ trunk/src/supplicant-manager/nm-supplicant-interface.c Wed Sep 24 11:45:44 2008
@@ -902,26 +902,10 @@
}
}
-static void
-interface_disconnect_done (gpointer data)
-{
- NMSupplicantInfo *info = (NMSupplicantInfo *) data;
- NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (info->interface);
-
- if (priv->net_proxy) {
- g_object_unref (priv->net_proxy);
- priv->net_proxy = NULL;
- }
-
- nm_supplicant_info_destroy (data);
-}
-
void
nm_supplicant_interface_disconnect (NMSupplicantInterface * self)
{
NMSupplicantInterfacePrivate *priv;
- NMSupplicantInfo *info;
- DBusGProxyCall *call;
g_return_if_fail (NM_IS_SUPPLICANT_INTERFACE (self));
@@ -951,21 +935,17 @@
/* Remove any network that was added by NetworkManager */
if (priv->net_proxy) {
- info = nm_supplicant_info_new (self, priv->iface_proxy, priv->other_pcalls);
- call = dbus_g_proxy_begin_call (priv->iface_proxy, "removeNetwork", remove_network_cb,
- info,
- interface_disconnect_done,
- DBUS_TYPE_G_OBJECT_PATH, dbus_g_proxy_get_path (priv->net_proxy),
- G_TYPE_INVALID);
- nm_supplicant_info_set_call (info, call);
+ dbus_g_proxy_begin_call (priv->iface_proxy, "removeNetwork", remove_network_cb,
+ NULL, NULL,
+ DBUS_TYPE_G_OBJECT_PATH, dbus_g_proxy_get_path (priv->net_proxy),
+ G_TYPE_INVALID);
+
+ g_object_unref (priv->net_proxy);
+ priv->net_proxy = NULL;
}
- info = nm_supplicant_info_new (self, priv->iface_proxy, priv->other_pcalls);
- call = dbus_g_proxy_begin_call (priv->iface_proxy, "disconnect", disconnect_cb,
- info,
- nm_supplicant_info_destroy,
- G_TYPE_INVALID);
- nm_supplicant_info_set_call (info, call);
+ dbus_g_proxy_begin_call (priv->iface_proxy, "disconnect", disconnect_cb,
+ NULL, NULL, G_TYPE_INVALID);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]