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>
This commit is contained in:
Lorn Potter 2021-11-05 10:59:27 +10:00
parent 8790142aeb
commit 663a175893

View File

@ -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);