diff options
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(); } |