[telepathy-mission-control/master] Get errors from the TpProxy

Alberto Mardegan alberto.mardegan at nokia.com
Tue May 19 01:40:43 PDT 2009


If the channel is aborted because of the TpProxy "invalidated" signal, there
might be no error on the McdChannel: it must be retrieved from the TpProxy.
---
 src/mcd-channel.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/mcd-channel.c b/src/mcd-channel.c
index bcf5183..ef64afb 100644
--- a/src/mcd-channel.c
+++ b/src/mcd-channel.c
@@ -1186,9 +1186,18 @@ mcd_channel_take_error (McdChannel *channel, GError *error)
 const GError *
 mcd_channel_get_error (McdChannel *channel)
 {
+    McdChannelPrivate *priv;
+
     g_return_val_if_fail (MCD_IS_CHANNEL (channel), NULL);
 
-    return channel->priv->error;
+    priv = channel->priv;
+    if (priv->error)
+        return priv->error;
+
+    if (priv->tp_chan)
+        return TP_PROXY (priv->tp_chan)->invalidated;
+
+    return NULL;
 }
 
 /**
-- 
1.5.6.5



More information about the telepathy-commits mailing list