From 54715fac4eb9fbbb4d3cdcf74e43e64b0c28598c Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Thu, 25 Feb 2010 13:03:01 +0000 Subject: rework order of ibb ops --- source/QXmppTransferManager.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'source/QXmppTransferManager.cpp') 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); } } -- cgit v1.2.3