wasm: Make sure native fetch is destroyed before reply is canceled, closed

finished signal was being sent before native fetch was destroyed
which, in some instances, was causing a crash.

Fixes: QTBUG-136710
Change-Id: I2134431cbf9af0511d888dc5db3f589f5259c88a
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
(cherry picked from commit f5d888b44a5d418a601d8d7920dc5826617f9e90)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Lorn Potter 2025-05-26 11:24:50 +10:00 committed by Qt Cherry-pick Bot
parent 8d81da76be
commit 18552d0c62

View File

@ -127,13 +127,13 @@ void QNetworkReplyWasmImpl::close()
{
Q_D(QNetworkReplyWasmImpl);
emscripten_fetch_close(d->m_fetch);
if (d->state != QNetworkReplyPrivate::Aborted &&
d->state != QNetworkReplyPrivate::Finished &&
d->state != QNetworkReplyPrivate::Idle) {
d->state = QNetworkReplyPrivate::Finished;
d->setCanceled();
}
emscripten_fetch_close(d->m_fetch);
QNetworkReply::close();
}