diff options
| author | Morten Sørvig <morten.sorvig@qt.io> | 2021-05-26 12:16:56 +0200 |
|---|---|---|
| committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2021-06-22 11:11:20 +0000 |
| commit | 0ca0f3e7febabba42d4494dc96bc3b5e62841dec (patch) | |
| tree | 99796339107c63d340021890a1f1105b52d3c3a8 /src | |
| parent | a6bd2da2ab62eccae023789899b4f0b6b5e60f74 (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.
Pick-to: 6.2
Change-Id: I7d5e19e7ac6f762f360d6af0fc9500e6964f737e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/platforms/wasm/qwasmscreen.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/platforms/wasm/qwasmscreen.h | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/platforms/wasm/qwasmscreen.cpp b/src/plugins/platforms/wasm/qwasmscreen.cpp index 7a8bb4f6867..0b11415fd3a 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 14d5a2f7d1f..4acf90d5150 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; |
