diff options
| author | Eran Mizrahi <erasmux@gmail.com> | 2017-12-09 01:56:16 +0200 |
|---|---|---|
| committer | Eran Mizrahi <erasmux@gmail.com> | 2017-12-10 02:53:19 +0200 |
| commit | 1b4b6dbeb46aa7e6b87b3de32cd8953fa0d32a7a (patch) | |
| tree | 7273a8590bc622410c5dd96fa29cf4e68f581798 /src | |
| parent | 4adb13c9435baade511d3ac78fb142dc73bd2e1f (diff) | |
cycle crash dumps
Diffstat (limited to 'src')
| -rw-r--r-- | src/mainwindow.cpp | 1 | ||||
| -rw-r--r-- | src/organizercore.cpp | 10 | ||||
| -rw-r--r-- | src/organizercore.h | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cab4c41f..b47e9c57 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3297,6 +3297,7 @@ void MainWindow::on_actionSettings_triggered() updateDownloadListDelegate();
m_OrganizerCore.updateVFSParams(settings.logLevel(), settings.crashDumpsType());
+ m_OrganizerCore.cycleDiagnostics();
}
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);
diff --git a/src/organizercore.h b/src/organizercore.h index 7bb7faa7..40531195 100644 --- a/src/organizercore.h +++ b/src/organizercore.h @@ -160,6 +160,8 @@ public: void updateVFSParams(int logLevel, int crashDumpsType);
+ bool cycleDiagnostics();
+
static CrashDumpsType getGlobalCrashDumpsType() { return m_globalCrashDumpsType; }
static void setGlobalCrashDumpsType(int crashDumpsType);
static std::wstring crashDumpsPath();
|
