summaryrefslogtreecommitdiff
path: root/src/organizercore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/organizercore.cpp')
-rw-r--r--src/organizercore.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index adb895ec..7f86f2b4 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -630,7 +630,8 @@ bool OrganizerCore::bootstrap() {
return createDirectory(m_Settings.getProfileDirectory()) &&
createDirectory(m_Settings.getModDirectory()) &&
createDirectory(m_Settings.getDownloadDirectory()) &&
- createDirectory(m_Settings.getOverwriteDirectory());
+ createDirectory(m_Settings.getOverwriteDirectory()) &&
+ createDirectory(QString::fromStdWString(crashDumpsPath())) && cycleDiagnostics();
}
void OrganizerCore::createDefaultProfile()
@@ -652,6 +653,12 @@ void OrganizerCore::updateVFSParams(int logLevel, int crashDumpsType) {
m_USVFS.updateParams(logLevel, crashDumpsType);
}
+bool OrganizerCore::cycleDiagnostics() {
+ if (int maxDumps = settings().crashDumpsMax())
+ removeOldFiles(QString::fromStdWString(crashDumpsPath()), "*.dmp", maxDumps, QDir::Time|QDir::Reversed);
+ return true;
+}
+
//static
void OrganizerCore::setGlobalCrashDumpsType(int crashDumpsType) {
m_globalCrashDumpsType = ::crashDumpsType(crashDumpsType);
@@ -1083,6 +1090,7 @@ void OrganizerCore::spawnBinary(const QFileInfo &binary, const QString &argument
refreshESPList();
savePluginList();
+ cycleDiagnostics();
//These callbacks should not fiddle with directoy structure and ESPs.
m_FinishedRun(binary.absoluteFilePath(), processExitCode);