summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmscreen.cpp
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2019-04-29 00:35:42 +0200
committerJani Heikkinen <jani.heikkinen@qt.io>2019-05-14 11:00:14 +0000
commitc8c4819b7b2f20c2972c31c49547ce5b59fe1240 (patch)
tree2c226c8b0b9a5ebdaf9a42f44773d0587c52ca01 /src/plugins/platforms/wasm/qwasmscreen.cpp
parent4e0f26289244d587714abf8adda932cce5697925 (diff)
wasm: controlled screen destruction
Freeing OpenGL resources requires a current context, which (on wasm) requires a screen. Add a destroy() functions to QWasmScreen, QWasmCompositor, QWasmWindow, and QWasmBackingStore which facilitates OpenGL cleanup before we start deleting screen objects. Task-number: QTBUG-75463 Change-Id: I9954b536416b9147965c74459ccad838d1578778 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmscreen.cpp')
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp
index a26cafa900..74d47555fc 100644
--- a/src/plugins/platforms/wasm/qwasmscreen.cpp
+++ b/src/plugins/platforms/wasm/qwasmscreen.cpp
@@ -57,7 +57,12 @@ QWasmScreen::QWasmScreen(const QString &canvasId)
QWasmScreen::~QWasmScreen()
{
+ destroy();
+}
+void QWasmScreen::destroy()
+{
+ m_compositor->destroy();
}
QWasmScreen *QWasmScreen::get(QPlatformScreen *screen)