summaryrefslogtreecommitdiff
path: root/telepathy-glib/proxy-methods.c
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2009-07-09 09:53:14 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2009-07-09 19:16:39 +0100
commit03844c40179f2591398d524080d862c9b0298865 (patch)
treec68b2f311863c28e0f7893e51df9e70250da7904 /telepathy-glib/proxy-methods.c
parent8221de6ae9808a17fabdf41522d3aac5996d777a (diff)
downloadtelepathy-glib-03844c40179f2591398d524080d862c9b0298865.tar.gz
TpProxyPendingCall: fix rare crash when cancelled before we've been given our DBusGProxyCall
One of the telepathy-mission-control regression tests hit an assertion failure in dbus_g_proxy_cancel_call (., call=0x0), with tp_proxy_pending_call_lost_weak_ref on the stack. As far as I can tell, this can only happen if the weak_object is finalized before tp_proxy_pending_call_v0_take_pending_call is called, which seems unlikely but possible. Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
Diffstat (limited to 'telepathy-glib/proxy-methods.c')
-rw-r--r--telepathy-glib/proxy-methods.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/telepathy-glib/proxy-methods.c b/telepathy-glib/proxy-methods.c
index 58d8bfb04..011dcd8de 100644
--- a/telepathy-glib/proxy-methods.c
+++ b/telepathy-glib/proxy-methods.c
@@ -332,7 +332,7 @@ tp_proxy_pending_call_cancel (TpProxyPendingCall *pc)
_tp_proxy_pending_call_idle_completed);
}
- if (!pc->dbus_completed)
+ if (!pc->dbus_completed && pc->pending_call != NULL)
{
/* Implicitly asserts that iface_proxy is non-NULL */
DBusGProxy *iface_proxy = g_object_ref (pc->iface_proxy);