diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index 9b51392901..551663a711 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -239,7 +239,6 @@ public: private: void initHelper(QPlatformDialogHelper *) override; void helperPrepareShow(QPlatformDialogHelper *) override; - void helperDone(QDialog::DialogCode, QPlatformDialogHelper *) override; }; void QMessageBoxPrivate::init(const QString &title, const QString &text) @@ -510,6 +509,8 @@ void QMessageBoxPrivate::_q_clicked(QPlatformDialogHelper::StandardButton button clickedButton->click(); q->done(role); } else { + clickedButton = q->button(QMessageBox::StandardButton(button)); + Q_ASSERT(clickedButton); q->done(button); } } @@ -2837,16 +2838,6 @@ void QMessageBoxPrivate::helperPrepareShow(QPlatformDialogHelper *) options->setCheckBox(checkbox->text(), checkbox->checkState()); } -void QMessageBoxPrivate::helperDone(QDialog::DialogCode code, QPlatformDialogHelper *) -{ - Q_Q(QMessageBox); - QAbstractButton *button = q->button(QMessageBox::StandardButton(code)); - // If it was a custom button, a custom ID was used, so we won't get a valid pointer here. - // In that case, clickedButton has already been set in _q_buttonClicked. - if (button) - clickedButton = button; -} - void qRequireVersion(int argc, char *argv[], QAnyStringView req) { const auto required = QVersionNumber::fromString(req).normalized();