summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMorten Sørvig <morten.sorvig@qt.io>2021-05-26 12:16:56 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-22 11:11:29 +0000
commita05d3c9a38e6d7cf89e6984e10723817aa27eba4 (patch)
tree763b97a3d776165c0b677eac86e403a19e80d395 /src
parente194eea8c856f0d1964be414d2d0e66f908ab49c (diff)
wasm: don’t leak QWasmScreen member variables
m_compositor and m_eventTranslator are owned by the screen object and can be held in a unique_ptr. Change-Id: I7d5e19e7ac6f762f360d6af0fc9500e6964f737e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 0ca0f3e7febabba42d4494dc96bc3b5e62841dec) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.cpp8
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.h4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp
index 7a8bb4f686..0b11415fd3 100644
--- a/src/plugins/platforms/wasm/qwasmscreen.cpp
+++ b/src/plugins/platforms/wasm/qwasmscreen.cpp
@@ -54,9 +54,9 @@ const char * QWasmScreen::m_canvasResizeObserverCallbackContextPropertyName = "d
QWasmScreen::QWasmScreen(const emscripten::val &canvas)
: m_canvas(canvas)
+ , m_compositor(new QWasmCompositor(this))
+ , m_eventTranslator(new QWasmEventTranslator(this))
{
- m_compositor = new QWasmCompositor(this);
- m_eventTranslator = new QWasmEventTranslator(this);
updateQScreenAndCanvasRenderSize();
m_canvas.call<void>("focus");
}
@@ -84,12 +84,12 @@ QWasmScreen *QWasmScreen::get(QScreen *screen)
QWasmCompositor *QWasmScreen::compositor()
{
- return m_compositor;
+ return m_compositor.get();
}
QWasmEventTranslator *QWasmScreen::eventTranslator()
{
- return m_eventTranslator;
+ return m_eventTranslator.get();
}
emscripten::val QWasmScreen::canvas() const
diff --git a/src/plugins/platforms/wasm/qwasmscreen.h b/src/plugins/platforms/wasm/qwasmscreen.h
index 14d5a2f7d1..4acf90d515 100644
--- a/src/plugins/platforms/wasm/qwasmscreen.h
+++ b/src/plugins/platforms/wasm/qwasmscreen.h
@@ -86,8 +86,8 @@ public slots:
private:
emscripten::val m_canvas;
- QWasmCompositor *m_compositor = nullptr;
- QWasmEventTranslator *m_eventTranslator = nullptr;
+ std::unique_ptr<QWasmCompositor> m_compositor;
+ std::unique_ptr<QWasmEventTranslator> m_eventTranslator;
QRect m_geometry = QRect(0, 0, 100, 100);
int m_depth = 32;
QImage::Format m_format = QImage::Format_RGB32;