From 97a2637c1c3e77cd81d67185e00deed3411ebca2 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Fri, 9 Aug 2013 15:46:25 +0200 Subject: [PATCH] PBAP: do not end Bluez5 transfer prematurely A transfer was marked as finished prematurely when encountering the "active" Status value, which can happen for longer transfers. --- src/backends/pbap/PbapSyncSource.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/backends/pbap/PbapSyncSource.cpp b/src/backends/pbap/PbapSyncSource.cpp index 7710362..91e807d 100644 --- a/src/backends/pbap/PbapSyncSource.cpp +++ b/src/backends/pbap/PbapSyncSource.cpp @@ -200,15 +200,16 @@ void PbapSession::propChangedCb(const GDBusCXX::Path_t &path, std::string status = boost::get(it->second); SE_LOG_DEBUG(NULL, "OBEXD transfer %s: %s", path.c_str(), status.c_str()); - Completion completion = Completion::now(); - SE_LOG_DEBUG(NULL, "obexd transfer %s: %s", path.c_str(), status.c_str()); - if (status == "error") { - // We have to make up some error descriptions. The Bluez - // 5 API no longer seems to provide that. - completion.m_transferErrorCode = "transfer failed"; - completion.m_transferErrorMsg = "reason unknown"; + if (status == "complete" || status == "error") { + Completion completion = Completion::now(); + if (status == "error") { + // We have to make up some error descriptions. The Bluez + // 5 API no longer seems to provide that. + completion.m_transferErrorCode = "transfer failed"; + completion.m_transferErrorMsg = "reason unknown"; + } + m_transfers[path] = completion; } - m_transfers[path] = completion; } } -- 1.7.10.4