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
Pick-to: 6.9
Change-Id: I2134431cbf9af0511d888dc5db3f589f5259c88a
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
This commit is contained in:
Lorn Potter 2025-05-26 11:24:50 +10:00
parent cc07564978
commit f5d888b44a

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();
}