diff options
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmintegration.cpp')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmintegration.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/plugins/platforms/wasm/qwasmintegration.cpp b/src/plugins/platforms/wasm/qwasmintegration.cpp index c6bb7f98c9..b7e1a0ad28 100644 --- a/src/plugins/platforms/wasm/qwasmintegration.cpp +++ b/src/plugins/platforms/wasm/qwasmintegration.cpp @@ -196,7 +196,8 @@ QWasmIntegration::~QWasmIntegration() delete m_drag; for (const auto &elementAndScreen : m_screens) - QWindowSystemInterface::handleScreenRemoved(elementAndScreen.second); + elementAndScreen.second->deleteScreen(); + m_screens.clear(); s_instance = nullptr; @@ -338,10 +339,7 @@ void QWasmIntegration::removeScreen(const emscripten::val &element) qWarning() << "Attempting to remove non-existing screen for element" << QWasmString::toQString(element["id"]);; return; } - QWasmScreen *exScreen = it->second; - m_screens.erase(it); - exScreen->destroy(); // clean up before deleting the screen - QWindowSystemInterface::handleScreenRemoved(exScreen); + it->second->deleteScreen(); } void QWasmIntegration::resizeScreen(const emscripten::val &element) |