diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2021-11-05 10:59:27 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2021-11-06 15:08:54 +1000 |
commit | 663a17589301225a40d8e56cb1e90886afcb00c3 (patch) | |
tree | a676af57250b0c9db189442c17c2889a0d84b680 /src/network/access | |
parent | 8790142aebf22a9e0397ec63dfc7bad72a1ee7a6 (diff) |
wasm: fix network reply status attribute
We were emitting the finished signal before the status code attributes
were being set.
Fixes: QTBUG-97984
Pick-to: 6.2 5.15
Change-Id: Ib179898dee2b9667d482348ad12180e8bdef74db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/network/access')
-rw-r--r-- | src/network/access/qnetworkreplywasmimpl.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/network/access/qnetworkreplywasmimpl.cpp b/src/network/access/qnetworkreplywasmimpl.cpp index 4c735b1559..3f8c11c201 100644 --- a/src/network/access/qnetworkreplywasmimpl.cpp +++ b/src/network/access/qnetworkreplywasmimpl.cpp @@ -308,12 +308,6 @@ void QNetworkReplyWasmImplPrivate::dataReceived(const QByteArray &buffer, int bu downloadBuffer.append(buffer, bufferSize); emit q->readyRead(); - - if (downloadBufferCurrentSize == totalDownloadSize) { - q->setFinished(true); - emit q->readChannelFinished(); - emit q->finished(); - } } //taken from qnetworkrequest.cpp @@ -450,12 +444,23 @@ void QNetworkReplyWasmImplPrivate::downloadSucceeded(emscripten_fetch_t *fetch) if (reply->state != QNetworkReplyPrivate::Aborted) { QByteArray buffer(fetch->data, fetch->numBytes); reply->dataReceived(buffer, buffer.size()); + QByteArray statusText(fetch->statusText); + reply->setStatusCode(fetch->status, statusText); + reply->setReplyFinished(); } reply->m_fetch = nullptr; } emscripten_fetch_close(fetch); } +void QNetworkReplyWasmImplPrivate::setReplyFinished() +{ + Q_Q(QNetworkReplyWasmImpl); + q->setFinished(true); + emit q->readChannelFinished(); + emit q->finished(); +} + void QNetworkReplyWasmImplPrivate::setStatusCode(int status, const QByteArray &statusText) { Q_Q(QNetworkReplyWasmImpl); |