summaryrefslogtreecommitdiff
path: root/src/usvfsconnector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/usvfsconnector.cpp')
-rw-r--r--src/usvfsconnector.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp
index 4a54f9fd..7b75b870 100644
--- a/src/usvfsconnector.cpp
+++ b/src/usvfsconnector.cpp
@@ -160,6 +160,21 @@ UsvfsConnector::UsvfsConnector()
usvfsBlacklistExecutable(buf.data());
}
+ usvfsClearSkipFileSuffixes();
+ for (auto& suffix : s.skipFileSuffixes()) {
+ if (suffix.isEmpty()) {
+ continue;
+ }
+ std::wstring buf = suffix.toStdWString();
+ usvfsAddSkipFileSuffix(buf.data());
+ }
+
+ usvfsClearSkipDirectories();
+ for (auto& dir : s.skipDirectories()) {
+ std::wstring buf = dir.toStdWString();
+ usvfsAddSkipDirectory(buf.data());
+ }
+
usvfsClearLibraryForceLoads();
m_LogWorker.moveToThread(&m_WorkerThread);
@@ -228,7 +243,9 @@ void UsvfsConnector::updateParams(MOBase::log::Levels logLevel,
env::CoreDumpTypes coreDumpType,
const QString& crashDumpsPath,
std::chrono::seconds spawnDelay,
- QString executableBlacklist)
+ QString executableBlacklist,
+ const QStringList& skipFileSuffixes,
+ const QStringList& skipDirectories)
{
using namespace std::chrono;
@@ -248,6 +265,21 @@ void UsvfsConnector::updateParams(MOBase::log::Levels logLevel,
std::wstring buf = exec.toStdWString();
usvfsBlacklistExecutable(buf.data());
}
+
+ usvfsClearSkipFileSuffixes();
+ for (auto& suffix : skipFileSuffixes) {
+ if (suffix.isEmpty()) {
+ continue;
+ }
+ std::wstring buf = suffix.toStdWString();
+ usvfsAddSkipFileSuffix(buf.data());
+ }
+
+ usvfsClearSkipDirectories();
+ for (auto& dir : skipDirectories) {
+ std::wstring buf = dir.toStdWString();
+ usvfsAddSkipDirectory(buf.data());
+ }
}
void UsvfsConnector::updateForcedLibraries(