aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform/qquickplatformmessagedialog.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-06-27 09:50:22 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-06-27 13:07:52 +0000
commit9d7ae28fcc683c185ee0f90728a21e0371e45e2d (patch)
treed6412d8c71e952af0a49eb60da1c2aaca7619819 /src/imports/platform/qquickplatformmessagedialog.cpp
parent4960f639e338e36b595667f02e2b5fac51aaa07a (diff)
Platform dialogs: set the options on construction
Platform dialogs hold a shared pointer to an options structure. Dialog implementations may access the options in various places (eg. QGtk3FileDialogHelper::selectFile()) and seem to rely that the options are not null at this point. Thus, pass the options pointer right away on construction instead of unnecessarily delaying to applyOptions(), to avoid potential crashes. Change-Id: I14b0801eb58a9834867dd302a6610e64adeea0cd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/platform/qquickplatformmessagedialog.cpp')
-rw-r--r--src/imports/platform/qquickplatformmessagedialog.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp
index 68804bbc..05bcc080 100644
--- a/src/imports/platform/qquickplatformmessagedialog.cpp
+++ b/src/imports/platform/qquickplatformmessagedialog.cpp
@@ -131,6 +131,7 @@ QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent)
if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(dialog)) {
connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformDialog::close);
connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformMessageDialog::clicked);
+ messageDialog->setOptions(m_options);
}
setHandle(dialog);
}
@@ -246,8 +247,6 @@ void QQuickPlatformMessageDialog::setButtons(QPlatformDialogHelper::StandardButt
void QQuickPlatformMessageDialog::applyOptions()
{
m_options->setWindowTitle(title());
- if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(handle()))
- messageDialog->setOptions(m_options);
}
QT_END_NAMESPACE