From 959a8b3967ac3b6315f5b458628ec5661dfc367e Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Sun, 16 Jul 2023 11:16:40 +0200 Subject: Adapt setBackingStore() overrides in QWasmWindow and QEglFSWindow This is a follow up to a4ca9e80658bca7dad1529f03c1b59173a6ecf62, adapting the backing store setters to become proper overrides of the newly implemented QPlatformWindow::setBackingStore(); Pick-to: 6.6 Change-Id: Id4f5ff8650ca4e4d3cab1d71d27041c6129bf4ea Reviewed-by: Qt CI Bot Reviewed-by: Shawn Rutledge --- src/plugins/platforms/eglfs/api/qeglfswindow.cpp | 6 +++++- src/plugins/platforms/eglfs/api/qeglfswindow_p.h | 2 +- src/plugins/platforms/wasm/qwasmwindow.cpp | 8 ++++++++ src/plugins/platforms/wasm/qwasmwindow.h | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp index 1a31f97d7b..6210ef16a8 100644 --- a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp @@ -108,8 +108,12 @@ void QEglFSWindow::create() #endif } -void QEglFSWindow::setBackingStore(QOpenGLCompositorBackingStore *backingStore) +void QEglFSWindow::setBackingStore(QPlatformBackingStore *store) { + Q_ASSERT(store); + Q_ASSERT_X(dynamic_cast(store), __FUNCTION__, + "Argument is not a QOpenGLCompositorBackingStore."); + auto *backingStore = static_cast(store); #ifndef QT_NO_OPENGL if (!m_rasterCompositingContext) { m_rasterCompositingContext = new QOpenGLContext; diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h index d111042040..d8e0a4a735 100644 --- a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h @@ -71,7 +71,7 @@ public: #ifndef QT_NO_OPENGL QOpenGLCompositorBackingStore *backingStore() { return m_backingStore; } - void setBackingStore(QOpenGLCompositorBackingStore *backingStore); + void setBackingStore(QPlatformBackingStore *backingStore) override; QWindow *sourceWindow() const override; const QPlatformTextureList *textures() const override; void endCompositing() override; diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index 775f71b3ad..20458bcfe6 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -236,6 +236,14 @@ QWasmScreen *QWasmWindow::platformScreen() const return static_cast(window()->screen()->handle()); } +void QWasmWindow::setBackingStore(QPlatformBackingStore *store) +{ + Q_ASSERT(store); + Q_ASSERT_X(dynamic_cast(store), __FUNCTION__, + "Argument is not a QWasmBackingStore."); + m_backingStore = static_cast(store); +} + void QWasmWindow::paint() { if (!m_backingStore || !isVisible() || m_context2d.isUndefined()) diff --git a/src/plugins/platforms/wasm/qwasmwindow.h b/src/plugins/platforms/wasm/qwasmwindow.h index 37e186d700..9fd40eba7f 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.h +++ b/src/plugins/platforms/wasm/qwasmwindow.h @@ -89,7 +89,7 @@ public: void setParent(const QPlatformWindow *window) final; QWasmScreen *platformScreen() const; - void setBackingStore(QWasmBackingStore *store) { m_backingStore = store; } + void setBackingStore(QPlatformBackingStore *store) override; QWasmBackingStore *backingStore() const { return m_backingStore; } QWindow *window() const { return m_window; } -- cgit v1.2.3