summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-04-19 15:30:23 +0200
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-04-19 15:33:57 +0200
commitbadfcea7164e9b12916c77c21456d4b382b7cdc9 (patch)
treebd7f157b586f5be27ec8310e8a483c60ccde5d4d
parentf2f939e82822df06bcf35914888d4cb6c1158d99 (diff)
downloadempathy-badfcea7164e9b12916c77c21456d4b382b7cdc9.tar.gz
call cb with an error if dispatcher_chat_with_contact* fails
-rw-r--r--libempathy/empathy-dispatcher.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index e6bb4543f..c5908a8e5 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
{