diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-06-27 09:50:22 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-06-27 13:07:52 +0000 |
commit | 9d7ae28fcc683c185ee0f90728a21e0371e45e2d (patch) | |
tree | d6412d8c71e952af0a49eb60da1c2aaca7619819 /src/imports/platform/qquickplatformcolordialog.cpp | |
parent | 4960f639e338e36b595667f02e2b5fac51aaa07a (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/qquickplatformcolordialog.cpp')
-rw-r--r-- | src/imports/platform/qquickplatformcolordialog.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp index 17607a28..37047fe6 100644 --- a/src/imports/platform/qquickplatformcolordialog.cpp +++ b/src/imports/platform/qquickplatformcolordialog.cpp @@ -107,6 +107,7 @@ QQuickPlatformColorDialog::QQuickPlatformColorDialog(QObject *parent) if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(dialog)) { connect(colorDialog, &QPlatformColorDialogHelper::currentColorChanged, this, &QQuickPlatformColorDialog::currentColorChanged); connect(colorDialog, &QPlatformColorDialogHelper::colorSelected, this, &QQuickPlatformColorDialog::colorSelected); + colorDialog->setOptions(m_options); } setHandle(dialog); } @@ -163,8 +164,6 @@ void QQuickPlatformColorDialog::setOptions(QColorDialogOptions::ColorDialogOptio void QQuickPlatformColorDialog::applyOptions() { m_options->setWindowTitle(title()); - if (QPlatformColorDialogHelper *colorDialog = qobject_cast<QPlatformColorDialogHelper *>(handle())) - colorDialog->setOptions(m_options); } QT_END_NAMESPACE |