diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp index 1a31f97d7b8..6210ef16a8e 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 d111042040a..d8e0a4a7359 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 c9cc78b826c..68d9d2eb1d5 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -232,6 +232,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 99b490b473f..422a2ea464c 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.h +++ b/src/plugins/platforms/wasm/qwasmwindow.h @@ -85,7 +85,7 @@ public: void setMask(const QRegion ®ion) 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; }