summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2021-12-21 12:36:09 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2022-01-05 21:25:49 +0100
commit08ea8aaa8b5f0086819ce43c16acff3a45c6e450 (patch)
treeab70e905e7f767176008bbe4d96ef13301338791 /src/plugins
parent9b096e8cb8e181ed6579e0fa34b23418d8a3be1a (diff)
wasm: don’t exit on clean return from main()
Qt 6 uses Emcripten’s default of not exiting the runtime when main() exits. Make qtloader not transition to the “Exited” state when main() exits with code 0, since this would hide the app canvas. (The app state tracking code in qtloader is by now outdated, and should be revisited.) Pick-to: 6.3 Change-Id: Ib47898f1dd93d87b2675f20cd39f96ac3cb681a7 Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/wasm/qtloader.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qtloader.js b/src/plugins/platforms/wasm/qtloader.js
index 1180e55f73..08bf0ed421 100644
--- a/src/plugins/platforms/wasm/qtloader.js
+++ b/src/plugins/platforms/wasm/qtloader.js
@@ -407,6 +407,12 @@ function QtLoader(config)
setStatus("Exited");
};
self.moduleConfig.quit = self.moduleConfig.quit || function(code, exception) {
+
+ // Emscripten (and Qt) supports exiting from main() while keeping the app
+ // running. Don't transition into the "Exited" state for clean exits.
+ if (code == 0)
+ return;
+
if (exception.name == "ExitStatus") {
// Clean exit with code
publicAPI.exitText = undefined