diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-25 13:03:01 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-25 13:03:01 +0000 |
| commit | 54715fac4eb9fbbb4d3cdcf74e43e64b0c28598c (patch) | |
| tree | 69916923846fcb3b1c6c92b64eef0076d6aeb40f | |
| parent | 93b7c60780ccce1a52462fb6f8ba07e8f78e8f79 (diff) | |
| download | qxmpp-54715fac4eb9fbbb4d3cdcf74e43e64b0c28598c.tar.gz | |
rework order of ibb ops
| -rw-r--r-- | source/QXmppTransferManager.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/QXmppTransferManager.cpp b/source/QXmppTransferManager.cpp index 554820f9..ad9ae231 100644 --- a/source/QXmppTransferManager.cpp +++ b/source/QXmppTransferManager.cpp @@ -367,10 +367,11 @@ void QXmppTransferManager::ibbOpenIqReceived(const QXmppIbbOpenIq &iq) response.setError(error); m_client->sendPacket(response); return; - } else { - job->m_blockSize = iq.getBlockSize(); } + job->m_blockSize = iq.getBlockSize(); + job->setState(QXmppTransferJob::TransferState); + // accept transfer response.setType(QXmppIq::Result); m_client->sendPacket(response); @@ -398,22 +399,21 @@ void QXmppTransferManager::ibbResponseReceived(const QXmppIq &iq) QXmppIbbDataIq dataIq; dataIq.setTo(job->m_jid); dataIq.setSid(job->m_sid); - dataIq.setSequence(job->m_ibbSequence); + dataIq.setSequence(job->m_ibbSequence++); dataIq.setPayload(buffer); + job->m_requestId = dataIq.getId(); m_client->sendPacket(dataIq); job->m_done += buffer.size(); - job->m_requestId = dataIq.getId(); - job->m_ibbSequence++; job->progress(job->m_done, job->fileSize()); } else { // close the bytestream QXmppIbbCloseIq closeIq; closeIq.setTo(job->m_jid); closeIq.setSid(job->m_sid); + job->m_requestId = closeIq.getId(); m_client->sendPacket(closeIq); - job->m_requestId = closeIq.getId(); job->terminate(QXmppTransferJob::NoError); } } @@ -423,9 +423,9 @@ void QXmppTransferManager::ibbResponseReceived(const QXmppIq &iq) QXmppIbbCloseIq closeIq; closeIq.setTo(job->m_jid); closeIq.setSid(job->m_sid); + job->m_requestId = closeIq.getId(); m_client->sendPacket(closeIq); - job->m_requestId = closeIq.getId(); job->terminate(QXmppTransferJob::ProtocolError); } } |
