diff options
Diffstat (limited to 'src/corelib/io/qsettings.cpp')
-rw-r--r-- | src/corelib/io/qsettings.cpp | 18 |
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} |