Don't simulate main loop with JSPI

This is not needed, as main loop just works with awaited calls
thanks to JS suspender objects with JSPI enabled.

Fixes: QTBUG-114651
Change-Id: I94e187953ac8cec5c999f1b02508efecc19641f6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
Mikolaj Boc 2023-06-16 15:53:15 +02:00
parent 4d1525b0b8
commit b96a38acd2

View File

@ -431,11 +431,15 @@ void QEventDispatcherWasm::handleApplicationExec()
// Note that we don't use asyncify here: Emscripten supports one level of // Note that we don't use asyncify here: Emscripten supports one level of
// asyncify only and we want to reserve that for dialog exec() instead of // asyncify only and we want to reserve that for dialog exec() instead of
// using it for the one qApp exec(). // using it for the one qApp exec().
// When JSPI is used, awaited async calls are allowed to be nested, so we
// proceed normally.
if (!qstdweb::haveJspi()) {
const bool simulateInfiniteLoop = true; const bool simulateInfiniteLoop = true;
emscripten_set_main_loop([](){ emscripten_set_main_loop([](){
emscripten_pause_main_loop(); emscripten_pause_main_loop();
}, 0, simulateInfiniteLoop); }, 0, simulateInfiniteLoop);
} }
}
void QEventDispatcherWasm::handleDialogExec() void QEventDispatcherWasm::handleDialogExec()
{ {