aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickwidgets')
-rw-r--r--src/quickwidgets/qquickwidget.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index 1a840b44bd..6709d88fa3 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -1217,6 +1217,17 @@ bool QQuickWidget::event(QEvent *e)
break;
case QEvent::ScreenChangeInternal:
+ if (QWindow *window = this->window()->windowHandle()) {
+ QScreen *newScreen = window->screen();
+
+ if (d->offscreenWindow)
+ d->offscreenWindow->setScreen(newScreen);
+ if (d->offscreenSurface)
+ d->offscreenSurface->setScreen(newScreen);
+ if (d->context)
+ d->context->setScreen(newScreen);
+ }
+
if (d->fbo) {
// This will check the size taking the devicePixelRatio into account
// and recreate if needed.