summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qsettings.cpp')
-rw-r--r--src/corelib/io/qsettings.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index 122fe9f512..c23d2a22e1 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -1156,6 +1156,7 @@ QConfFileSettingsPrivate::QConfFileSettingsPrivate(QSettings::Format format,
org = QLatin1String("Unknown Organization");
}
+#if !defined(Q_OS_BLACKBERRY)
QString appFile = org + QDir::separator() + application + extension;
QString orgFile = org + extension;
@@ -1170,6 +1171,13 @@ QConfFileSettingsPrivate::QConfFileSettingsPrivate(QSettings::Format format,
if (!application.isEmpty())
confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false));
confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false));
+#else
+ QString confName = getPath(format, QSettings::UserScope) + org;
+ if (!application.isEmpty())
+ confName += QDir::separator() + application;
+ confName += extension;
+ confFiles[SandboxConfFile].reset(QConfFile::fromName(confName, true));
+#endif
for (i = 0; i < NumConfFiles; ++i) {
if (confFiles[i]) {
@@ -2430,6 +2438,16 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile,
running. Also, the locking isn't performed when accessing \c .plist
files.
+ \o On the BlackBerry platform, applications run in a sandbox. They are not
+ allowed to read or write outside of this sandbox. This involves the
+ following limitations:
+ \list
+ \o As there is only a single scope the scope is simply ignored.
+ \o The \l{Fallback Mechanism} is not applied, i.e. only a single
+ location is considered.
+ \o It is advised against setting and using custom file paths.
+ \endlist
+
\endlist
\sa QVariant, QSessionManager, {Settings Editor Example}, {Application Example}