diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 559e4ae43f..e1053b4add 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -5352,7 +5352,10 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset if (size.isNull()) return; - QPixmap pixmap(size); + const qreal pixmapDevicePixelRatio = qreal(painter->device()->devicePixelRatio()); + QPixmap pixmap(size * pixmapDevicePixelRatio); + pixmap.setDevicePixelRatio(pixmapDevicePixelRatio); + if (!(renderFlags & QWidget::DrawWindowBackground) || !isOpaque) pixmap.fill(Qt::transparent); q->render(&pixmap, QPoint(), toBePainted, renderFlags); |