diff --git a/src/kded/receivefilejob.h b/src/kded/receivefilejob.h --- a/src/kded/receivefilejob.h +++ b/src/kded/receivefilejob.h @@ -66,6 +66,7 @@ BluezQt::ObexTransferPtr m_transfer; BluezQt::ObexSessionPtr m_session; BluezQt::Request m_request; + bool m_accepted; }; #endif // RECEIVEFILEJOB_H diff --git a/src/kded/receivefilejob.cpp b/src/kded/receivefilejob.cpp --- a/src/kded/receivefilejob.cpp +++ b/src/kded/receivefilejob.cpp @@ -44,6 +44,7 @@ , m_transfer(transfer) , m_session(session) , m_request(req) + , m_accepted(false) { setCapabilities(Killable); } @@ -173,12 +174,13 @@ m_tempPath = createTempPath(m_transfer->name()); qCDebug(BLUEDAEMON) << "TempPath" << m_tempPath; + m_accepted = true; m_request.accept(m_tempPath); } void ReceiveFileJob::slotCancel() { - if (m_transfer->status() == BluezQt::ObexTransfer::Queued) { + if (!m_accepted && m_transfer->status() == BluezQt::ObexTransfer::Queued) { qCDebug(BLUEDAEMON) << "Cancel Push"; m_request.reject(); setError(KJob::UserDefinedError);