[empathy] call cb with an error if dispatcher_chat_with_contact* fails



commit d7612089c859f73dbafae2498104cf9329b51e9b
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Mon Apr 19 15:30:23 2010 +0200

    call cb with an error if dispatcher_chat_with_contact* fails

 libempathy/empathy-dispatcher.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index 8d91928..5cff9d8 100644
--- a/libempathy/empathy-dispatcher.c
+++ b/libempathy/empathy-dispatcher.c
@@ -1449,6 +1449,12 @@ empathy_dispatcher_chat_with_contact (EmpathyContact *contact,
   if (connection_data == NULL)
     {
       /* Connection has been invalidated */
+      if (callback != NULL)
+        {
+          GError error = { TP_DBUS_ERRORS, TP_DBUS_ERROR_PROXY_UNREFERENCED,
+              "Connection has been invalidated" };
+          callback (NULL, &error, user_data);
+        }
       goto out;
     }
 
@@ -1485,8 +1491,12 @@ dispatcher_chat_with_contact_id_cb (EmpathyTpContactFactory *factory,
 
   if (error)
     {
-      /* FIXME: Should call data->callback with the error */
       DEBUG ("Error: %s", error->message);
+
+      if (data->callback != NULL)
+        {
+          data->callback (NULL, error, data->user_data);
+        }
     }
   else
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]