summaryrefslogtreecommitdiff
path: root/src/instancemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/instancemanager.cpp')
-rw-r--r--src/instancemanager.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/instancemanager.cpp b/src/instancemanager.cpp
index 48c12d42..d48d02d2 100644
--- a/src/instancemanager.cpp
+++ b/src/instancemanager.cpp
@@ -172,18 +172,21 @@ QString InstanceManager::determineDataPath()
QStringList instanceList = instances();
- qDebug("%d - %s", instanceList.size(), qPrintable(instanceList.join(";")));
-
if (instanceList.size() == 0) {
- switch (queryInstallMode()) {
- case InstallationMode::PORTABLE: {
- instanceId = QString();
- } break;
- case InstallationMode::REGULAR: {
- instanceId = queryInstanceName();
- } break;
+ if (QFileInfo(qApp->applicationDirPath()).isWritable()) {
+ switch (queryInstallMode()) {
+ case InstallationMode::PORTABLE: {
+ instanceId = QString();
+ } break;
+ case InstallationMode::REGULAR: {
+ instanceId = queryInstanceName();
+ } break;
+ }
+ } else {
+ instanceId = queryInstanceName();
}
} else {
+ // don't offer portable instance if we can't set one up.
instanceId = chooseInstance(instanceList);
}
}