diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-06-19 12:41:07 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-19 15:39:12 +0200 |
commit | 24947fb8cc1859d5d193b2d66746c1541f30ab9b (patch) | |
tree | 972ceacc97cc2c926db4e8f8a9097967c20a15d1 /src/imports | |
parent | d6dc07f6151e8ff699a06dde6dc9b01a0c7d363c (diff) |
QColorDialogHelper: Force QWindow before setting flags
This needs the same fix as the one in the QFileDialogHelper (change
I7a3b2321f4a1bf179dced8e98598559f396386db). However to be even safer,
we can check for a null pointer before calling any methods on the
QWindow.
Task-number: QTBUG-31834
Change-Id: I319326f06fb2c92dc898fd12be86b6c7b7f87e5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/widgets/qquickqcolordialog.cpp | 7 | ||||
-rw-r--r-- | src/imports/widgets/qquickqfiledialog.cpp | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/imports/widgets/qquickqcolordialog.cpp b/src/imports/widgets/qquickqcolordialog.cpp index abe6ffd004..d10eacee60 100644 --- a/src/imports/widgets/qquickqcolordialog.cpp +++ b/src/imports/widgets/qquickqcolordialog.cpp @@ -68,8 +68,11 @@ public: virtual void exec() { m_dialog.exec(); } virtual bool show(Qt::WindowFlags f, Qt::WindowModality m, QWindow *parent) { - m_dialog.windowHandle()->setTransientParent(parent); - m_dialog.windowHandle()->setFlags(f); + m_dialog.winId(); + QWindow *window = m_dialog.windowHandle(); + Q_ASSERT(window); + window->setTransientParent(parent); + window->setFlags(f); m_dialog.setWindowModality(m); m_dialog.setWindowTitle(QPlatformColorDialogHelper::options()->windowTitle()); m_dialog.setOptions((QColorDialog::ColorDialogOptions)((int)(QPlatformColorDialogHelper::options()->options()))); diff --git a/src/imports/widgets/qquickqfiledialog.cpp b/src/imports/widgets/qquickqfiledialog.cpp index 4c5e1b6e37..afb150b509 100644 --- a/src/imports/widgets/qquickqfiledialog.cpp +++ b/src/imports/widgets/qquickqfiledialog.cpp @@ -97,8 +97,10 @@ public: virtual bool show(Qt::WindowFlags f, Qt::WindowModality m, QWindow *parent) { m_dialog.winId(); - m_dialog.windowHandle()->setTransientParent(parent); - m_dialog.windowHandle()->setFlags(f); + QWindow *window = m_dialog.windowHandle(); + Q_ASSERT(window); + window->setTransientParent(parent); + window->setFlags(f); m_dialog.setWindowModality(m); m_dialog.show(); return m_dialog.isVisible(); |