]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
2006-01-27 Iain Holmes <iain@openedhand.com>
authorRobert McQueen <robot101@debian.org>
Fri, 27 Jan 2006 15:06:55 +0000 (15:06 +0000)
committerRobert McQueen <robot101@debian.org>
Fri, 27 Jan 2006 15:06:55 +0000 (15:06 +0000)
* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
method from being called multiple times.

ChangeLog
glib/dbus-gproxy.c

index 825ad957de8fa4286f2fec4a28eef9c0a41f6b73..33a58cf24ba8f66feea84ebce661f0c5f80484d7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-27  Iain Holmes  <iain@openedhand.com>
+
+       * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
+       method from being called multiple times.
+
 2006-01-19  Robert McQueen  <robot101@debian.org>
 
        * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
index f8157b2dc6f578322932edd58a23b88c0067ccad..f83dac580b1d4bd12b29659df83088a5690da77b 100644 (file)
@@ -1395,10 +1395,15 @@ dbus_g_proxy_dispose (GObject *object)
   DBusGProxy *proxy = DBUS_G_PROXY (object);
   DBusGProxyPrivate *priv = DBUS_G_PROXY_GET_PRIVATE(proxy);
 
+  if (priv->pending_calls == NULL) 
+    {
+      return;
+    }
 
   /* Cancel outgoing pending calls */
   g_hash_table_foreach (priv->pending_calls, cancel_pending_call, proxy);
   g_hash_table_destroy (priv->pending_calls);
+  priv->pending_calls = NULL;
 
   if (priv->manager && proxy != priv->manager->bus_proxy)
     {