diff options
author | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2010-01-28 03:15:50 (GMT) |
---|---|---|
committer | Aaron McCarthy <aaron.mccarthy@nokia.com> | 2010-02-03 06:58:12 (GMT) |
commit | 75a0b3e5526b0a6cf01deb60f0dc37b61928206a (patch) | |
tree | 7fc20f2fbd1deabb2a8b241b053e2141c1094bb1 /src/network | |
parent | df551752b7f430ab44bb1dd2ad0aa8c2a5187ef8 (diff) | |
download | Qt-75a0b3e5526b0a6cf01deb60f0dc37b61928206a.zip Qt-75a0b3e5526b0a6cf01deb60f0dc37b61928206a.tar.gz Qt-75a0b3e5526b0a6cf01deb60f0dc37b61928206a.tar.bz2 |
Wait until session is in the connected state before starting transfer.
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/qnetworkaccessbackend.cpp | 19 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessbackend_p.h | 2 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp index 22df248..d9bce9d 100644 --- a/src/network/access/qnetworkaccessbackend.cpp +++ b/src/network/access/qnetworkaccessbackend.cpp @@ -354,19 +354,26 @@ void QNetworkAccessBackend::start() } } - connect(manager->session, SIGNAL(opened()), this, SLOT(sessionOpened())); + connect(manager->session, SIGNAL(stateChanged(QNetworkSession::State)), + this, SLOT(sessionStateChanged(QNetworkSession::State))); connect(manager->session, SIGNAL(error(QNetworkSession::SessionError)), this, SLOT(sessionError(QNetworkSession::SessionError))); - if (!manager->session->isOpen()) + switch (manager->session->state()) { + case QNetworkSession::Roaming: + break; + case QNetworkSession::Connected: + open(); + break; + default: manager->session->open(); - else - sessionOpened(); + } } -void QNetworkAccessBackend::sessionOpened() +void QNetworkAccessBackend::sessionStateChanged(QNetworkSession::State state) { - open(); + if (state == QNetworkSession::Connected) + open(); } void QNetworkAccessBackend::sessionError(QNetworkSession::SessionError error) diff --git a/src/network/access/qnetworkaccessbackend_p.h b/src/network/access/qnetworkaccessbackend_p.h index 08a8a2a..7b7821e 100644 --- a/src/network/access/qnetworkaccessbackend_p.h +++ b/src/network/access/qnetworkaccessbackend_p.h @@ -189,7 +189,7 @@ protected slots: void emitReplyUploadProgress(qint64 bytesSent, qint64 bytesTotal); private slots: - void sessionOpened(); + void sessionStateChanged(QNetworkSession::State state); void sessionError(QNetworkSession::SessionError error); private: |