aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgthreadedrenderloop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/scenegraph/qsgthreadedrenderloop.cpp')
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index 95a0d0f02a..074e7633da 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -910,9 +910,11 @@ void QSGThreadedRenderLoop::handleExposure(QQuickWindow *window)
w->thread->window = window;
if (w->window->width() <= 0 || w->window->height() <= 0
- || !w->window->geometry().intersects(w->window->screen()->availableGeometry())) {
+ || (w->window->isTopLevel() && !w->window->geometry().intersects(w->window->screen()->availableGeometry()))) {
#ifndef QT_NO_DEBUG
- qWarning("QSGThreadedRenderLoop: expose event received for window with invalid geometry.");
+ qWarning().noquote().nospace() << "QSGThreadedRenderLoop: expose event received for window "
+ << w->window << " with invalid geometry: " << w->window->geometry()
+ << " on " << w->window->screen();
#endif
}
@@ -931,6 +933,7 @@ void QSGThreadedRenderLoop::handleExposure(QQuickWindow *window)
if (qt_gl_global_share_context())
w->thread->gl->setShareContext(qt_gl_global_share_context());
w->thread->gl->setFormat(w->window->requestedFormat());
+ w->thread->gl->setScreen(w->window->screen());
if (!w->thread->gl->create()) {
const bool isEs = w->thread->gl->isOpenGLES();
delete w->thread->gl;