diff options
Diffstat (limited to 'src/opengl')
-rw-r--r-- | src/opengl/qgl.cpp | 4 | ||||
-rw-r--r-- | src/opengl/qgl_qpa.cpp | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 8c98a0ea3a..69f4871c6b 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -4100,7 +4100,9 @@ void QGLWidget::glDraw() #endif if (!d->glcx->initialized()) { glInit(); - resizeGL(d->glcx->device()->width(), d->glcx->device()->height()); // New context needs this "resize" + const qreal scaleFactor = (window() && window()->windowHandle()) ? + window()->windowHandle()->devicePixelRatio() : 1.0; + resizeGL(d->glcx->device()->width() * scaleFactor, d->glcx->device()->height() * scaleFactor); // New context needs this "resize" } paintGL(); if (doubleBuffer()) { diff --git a/src/opengl/qgl_qpa.cpp b/src/opengl/qgl_qpa.cpp index ba07f6121c..0e8b8abb4f 100644 --- a/src/opengl/qgl_qpa.cpp +++ b/src/opengl/qgl_qpa.cpp @@ -370,7 +370,10 @@ void QGLWidget::resizeEvent(QResizeEvent *e) makeCurrent(); if (!d->glcx->initialized()) glInit(); - resizeGL(width(), height()); + const qreal scaleFactor = (window() && window()->windowHandle()) ? + window()->windowHandle()->devicePixelRatio() : 1.0; + + resizeGL(width() * scaleFactor, height() * scaleFactor); } |