summaryrefslogtreecommitdiffstats
path: root/src/gui/dialogs
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2010-12-14 23:00:17 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2010-12-14 23:00:17 (GMT)
commit4a56fbd816dd4d1ec7643735e549bb39c4ace4c6 (patch)
treed793e257bec741e0eda16384c2e548405498e6ef /src/gui/dialogs
parent542fe69cdeff81acb8f986ff4606043613345dc2 (diff)
parent1d0ddf8037c068ff584dda60cffeb6b2b506d4b2 (diff)
downloadQt-4a56fbd816dd4d1ec7643735e549bb39c4ace4c6.zip
Qt-4a56fbd816dd4d1ec7643735e549bb39c4ace4c6.tar.gz
Qt-4a56fbd816dd4d1ec7643735e549bb39c4ace4c6.tar.bz2
Merge branch '4.7-upstream' into 4.7-water
Diffstat (limited to 'src/gui/dialogs')
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm
index 87850a7..1e13113 100644
--- a/src/gui/dialogs/qfiledialog_mac.mm
+++ b/src/gui/dialogs/qfiledialog_mac.mm
@@ -719,6 +719,14 @@ bool QFileDialogPrivate::setVisible_sys(bool visible)
if (!visible == q->isHidden())
return false;
+ if (q->windowFlags() & Qt::WindowStaysOnTopHint) {
+ // The native file dialog tries all it can to stay
+ // on the NSModalPanel level. And it might also show
+ // its own "create directory" dialog that we cannot control.
+ // So we need to use the non-native version in this case...
+ return false;
+ }
+
#ifndef QT_MAC_USE_COCOA
return visible ? showCarbonNavServicesDialog() : hideCarbonNavServicesDialog();
#else