diff options
Diffstat (limited to 'src/instancemanager.cpp')
| -rw-r--r-- | src/instancemanager.cpp | 21 |
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); } } |
