summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2012-08-28 14:05:33 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-30 09:37:13 +0200
commit919f939757e37527780cf53566d43dd13f86c225 (patch)
tree601c158a21c01ff9cda3698ac2496e6e526e42d8 /src/corelib/io
parent8ec8439755e33aee40db14f8a2b5073e420294e7 (diff)
Blackberry: Fix QFileSystemEngine::tempPath()
Apparently it depends on the user and/or firmware version on whether TMPDIR or TEMP is set, so try both. Additionally, fall back to /tmp if neither is set, as that seems to be present on all devices. This is a backport of a135d87a0f8ec24445e13fb54f4316e4ca7473be from Qt5. Change-Id: I1637f4ab74c8c8bd350b4efb451c2143c0642796 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/corelib/io')
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index f2a7004e80..9476a7451e 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -627,9 +627,12 @@ QString QFileSystemEngine::tempPath()
return QLatin1String(QT_UNIX_TEMP_PATH_OVERRIDE);
#elif defined(Q_OS_BLACKBERRY)
QString temp = QFile::decodeName(qgetenv("TEMP"));
+ if (temp.isEmpty())
+ temp = QFile::decodeName(qgetenv("TMPDIR"));
+
if (temp.isEmpty()) {
- qWarning("TEMP environment variable not set. Cannot determine temporary directory");
- return QString();
+ qWarning("Neither the TEMP nor the TMPDIR environment variable is set, falling back to /tmp.");
+ temp = QLatin1String("/tmp/");
}
return QDir::cleanPath(temp);
#else