]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
TorManager: set correct dir when Feather is installed
authortobtoht <thotbot@protonmail.com>
Fri, 25 Feb 2022 13:55:39 +0000 (14:55 +0100)
committertobtoht <thotbot@protonmail.com>
Fri, 25 Feb 2022 14:12:32 +0000 (15:12 +0100)
src/utils/TorManager.cpp

index 48c228a4c18b1e585aa3436b9d9993497a438af2..b3ddf080bca8d353e6cb6fe2196470e24035592f 100644 (file)
@@ -20,7 +20,12 @@ TorManager::TorManager(QObject *parent)
     connect(m_checkConnectionTimer, &QTimer::timeout, this, &TorManager::checkConnection);
 
     this->torDir = Config::defaultConfigDir().filePath("tor");
-    this->torDataPath = QDir(this->torDir).filePath("data");
+#if defined(PLATFORM_INSTALLER)
+    // When installed, use directory relative to application path.
+    this->torDir = QDir(Utils::applicationPath()).filePath("tor");
+#endif
+
+    this->torDataPath = Config::defaultConfigDir().filePath("tor/data");
 
     m_process.setProcessChannelMode(QProcess::MergedChannels);
 
@@ -164,6 +169,11 @@ bool TorManager::unpackBins() {
 
     this->torPath = QDir(this->torDir).filePath(torBin);
 
+#if defined(PLATFORM_INSTALLER)
+    // We don't need to unpack if Tor was installed using the installer
+    return true;
+#endif
+
     SemanticVersion embeddedVersion = SemanticVersion::fromString(QString(TOR_VERSION));
     SemanticVersion filesystemVersion = this->getVersion(torPath);
     qDebug() << QString("Tor versions: embedded %1, filesystem %2").arg(embeddedVersion.toString(), filesystemVersion.toString());