From c938752bd10411e5e4cc82a88ab9366bcda0d9ad Mon Sep 17 00:00:00 2001 From: Mikolaj Boc Date: Fri, 23 Sep 2022 12:11:04 +0200 Subject: [PATCH] Use the correct way to check for Asyncify MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Asyncify is a scoped object within emscripten runtime main function. Use of EM_JS seems inevitable at this point. Change-Id: I4852a7054a5e01583139cb54a0e14f604ac8ed13 Reviewed-by: David Skoland Reviewed-by: Morten Johan Sørvig --- src/corelib/platform/wasm/qstdweb.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/corelib/platform/wasm/qstdweb.cpp b/src/corelib/platform/wasm/qstdweb.cpp index bead64f97d2..102e49facc2 100644 --- a/src/corelib/platform/wasm/qstdweb.cpp +++ b/src/corelib/platform/wasm/qstdweb.cpp @@ -295,7 +295,9 @@ void WebPromiseManager::adoptPromise(emscripten::val target, PromiseCallbacks ca registerPromise(std::move(allocation), std::move(callbacks)); }); } -} // namespace + +EM_JS(bool, jsHaveAsyncify, (), { return typeof Asyncify !== "undefined"; }); +} // namespace ArrayBuffer::ArrayBuffer(uint32_t size) { @@ -669,7 +671,7 @@ namespace Promise { bool haveAsyncify() { - static bool HaveAsyncify = !emscripten::val::global("Asyncify").isUndefined(); + static bool HaveAsyncify = jsHaveAsyncify(); return HaveAsyncify; }