[Telepathy-commits] [telepathy-salut/master] file-transfer-channel: error_cb: always change the channel status to error

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Wed Nov 19 12:22:39 PST 2008


---
 src/salut-file-transfer-channel.c |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/salut-file-transfer-channel.c b/src/salut-file-transfer-channel.c
index a65ed75..db17161 100644
--- a/src/salut-file-transfer-channel.c
+++ b/src/salut-file-transfer-channel.c
@@ -887,23 +887,18 @@ error_cb (GibberFileTransfer *ft,
   receiver = (self->priv->initiator != base_conn->self_handle);
 
   if (domain == GIBBER_FILE_TRANSFER_ERROR && code ==
-      GIBBER_FILE_TRANSFER_ERROR_NOT_FOUND)
+      GIBBER_FILE_TRANSFER_ERROR_NOT_FOUND && receiver)
     {
-      if (receiver)
-        {
-          /* Inform the sender we weren't able to retrieve the file */
-          gibber_file_transfer_cancel (self->priv->ft, 404);
-        }
-
-      salut_file_transfer_channel_set_state (
-          SALUT_SVC_CHANNEL_TYPE_FILE_TRANSFER (self),
-          SALUT_FILE_TRANSFER_STATE_CANCELLED,
-          receiver ?
-          SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_ERROR :
-          SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_ERROR);
+      /* Inform the sender we weren't able to retrieve the file */
+      gibber_file_transfer_cancel (self->priv->ft, 404);
     }
 
-  /* TODO: handle other errors */
+  salut_file_transfer_channel_set_state (
+      SALUT_SVC_CHANNEL_TYPE_FILE_TRANSFER (self),
+      SALUT_FILE_TRANSFER_STATE_CANCELLED,
+      receiver ?
+      SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_ERROR :
+      SALUT_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_ERROR);
 }
 
 static void
-- 
1.5.6.5



More information about the Telepathy-commits mailing list