diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2016-04-19 15:47:01 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2016-04-20 11:59:06 +0000 |
commit | ff49c5645086272164ab9e8b16a7f4f733dcf54d (patch) | |
tree | ed45d735d24a44d334f31611c162d57f77ef7031 /src/widgets/dialogs/qmessagebox.cpp | |
parent | 5386a35d3581be35c4ce28dbfd15c6e76f763285 (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.cpp | 13 |
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(); } |