diff options
Diffstat (limited to 'src/widgets/dialogs/qmessagebox.cpp')
-rw-r--r-- | src/widgets/dialogs/qmessagebox.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index ac2f8bd2d5..a3093f82c2 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -518,7 +518,7 @@ void QMessageBoxPrivate::setClickedButton(QAbstractButton *button) emit q->buttonClicked(clickedButton); auto resultCode = execReturnCode(button); - hide(resultCode); + close(resultCode); finalize(resultCode, dialogCodeForButton(button)); } @@ -1420,8 +1420,10 @@ void QMessageBox::closeEvent(QCloseEvent *e) return; } QDialog::closeEvent(e); - d->clickedButton = d->detectedEscapeButton; - setResult(d->execReturnCode(d->detectedEscapeButton)); + if (!d->clickedButton) { + d->clickedButton = d->detectedEscapeButton; + setResult(d->execReturnCode(d->detectedEscapeButton)); + } } /*! |