aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2013-06-19 12:41:07 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-19 15:39:12 +0200
commit24947fb8cc1859d5d193b2d66746c1541f30ab9b (patch)
tree972ceacc97cc2c926db4e8f8a9097967c20a15d1 /src/imports
parentd6dc07f6151e8ff699a06dde6dc9b01a0c7d363c (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.cpp7
-rw-r--r--src/imports/widgets/qquickqfiledialog.cpp6
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();