summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qmessagebox.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-04-19 15:47:01 +0200
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-04-20 11:59:06 +0000
commitff49c5645086272164ab9e8b16a7f4f733dcf54d (patch)
treeed45d735d24a44d334f31611c162d57f77ef7031 /src/widgets/dialogs/qmessagebox.cpp
parent5386a35d3581be35c4ce28dbfd15c6e76f763285 (diff)
QMessageBox: Try to pass window handle to QIcon::pixmap().
Try to find a window handle so that the pixmap matching the device pixel ratio of the screen can be found. Task-number: QTBUG-52622 Change-Id: Iccf3cea82065af5e055d3cd932cd0808b29b15dc Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/widgets/dialogs/qmessagebox.cpp')
-rw-r--r--src/widgets/dialogs/qmessagebox.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp
index 8375624f71..dbbf6cdc71 100644
--- a/src/widgets/dialogs/qmessagebox.cpp
+++ b/src/widgets/dialogs/qmessagebox.cpp
@@ -2677,8 +2677,17 @@ QPixmap QMessageBoxPrivate::standardIcon(QMessageBox::Icon icon, QMessageBox *mb
default:
break;
}
- if (!tmpIcon.isNull())
- return tmpIcon.pixmap(iconSize, iconSize);
+ if (!tmpIcon.isNull()) {
+ QWindow *window = Q_NULLPTR;
+ if (mb) {
+ window = mb->windowHandle();
+ if (!window) {
+ if (const QWidget *nativeParent = mb->nativeParentWidget())
+ window = nativeParent->windowHandle();
+ }
+ }
+ return tmpIcon.pixmap(window, QSize(iconSize, iconSize));
+ }
return QPixmap();
}