summaryrefslogtreecommitdiffstats
path: root/glib
diff options
context:
space:
mode:
authorRobert McQueen <robot101@debian.org>2006-01-27 15:06:55 +0000
committerRobert McQueen <robot101@debian.org>2006-01-27 15:06:55 +0000
commit6a48e47424f06cc2bf2bbff0f580367b089d2d26 (patch)
treef28a3956882443b5443ead2814c9bc4521ca1789 /glib
parent25799b81970f36cead5cc0ddd57f298eb668adfd (diff)
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.
Diffstat (limited to 'glib')
-rw-r--r--glib/dbus-gproxy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c
index f8157b2d..f83dac58 100644
--- a/glib/dbus-gproxy.c
+++ b/glib/dbus-gproxy.c
@@ -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)
{