diff options
| author | Al <26797547+Al12rs@users.noreply.github.com> | 2020-04-17 14:30:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-17 14:30:41 +0200 |
| commit | ff912b5f6199ade55a4eaff1c8e7eefb8145c970 (patch) | |
| tree | c6bcf4c6c4eff90f53572fe1cc27bd4c9d255f93 | |
| parent | 4621c271642906d13fffaed83e1033da09abe20d (diff) | |
| parent | 89ee58de38d46361dbdd5f9b5a2d1390cf325ab4 (diff) | |
Merge pull request #1053 from Al12rs/fix_no_inis
Fix crash when game plugin does not provide any ini files.
| -rw-r--r-- | src/mainwindow.cpp | 10 | ||||
| -rw-r--r-- | src/profile.cpp | 6 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 85d0fe39..b36a1df8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1809,10 +1809,16 @@ QDir MainWindow::currentSavesDir() const if (m_OrganizerCore.currentProfile()->localSavesEnabled()) { savesDir.setPath(m_OrganizerCore.currentProfile()->savePath()); } else { + auto iniFiles = m_OrganizerCore.managedGame()->iniFiles(); + + if (iniFiles.isEmpty()) { + return m_OrganizerCore.managedGame()->savesDirectory(); + } + QString iniPath = m_OrganizerCore.currentProfile()->localSettingsEnabled() ? m_OrganizerCore.currentProfile()->absolutePath() : m_OrganizerCore.managedGame()->documentsDirectory().absolutePath(); - iniPath += "/" + m_OrganizerCore.managedGame()->iniFiles()[0]; + iniPath += "/" + iniFiles[0]; wchar_t path[MAX_PATH]; ::GetPrivateProfileStringW( @@ -4140,7 +4146,7 @@ void MainWindow::saveArchiveList() } archiveFile.commitIfDifferent(m_ArchiveListHash); } else { - log::warn("archive list not initialised"); + log::debug("archive list not initialised"); } } diff --git a/src/profile.cpp b/src/profile.cpp index 19c0d750..e96f6702 100644 --- a/src/profile.cpp +++ b/src/profile.cpp @@ -881,7 +881,11 @@ QString Profile::getDeleterFileName() const QString Profile::getIniFileName() const { - return m_Directory.absoluteFilePath(m_GamePlugin->iniFiles()[0]); + auto iniFiles = m_GamePlugin->iniFiles(); + if (iniFiles.isEmpty()) + return ""; + else + return m_Directory.absoluteFilePath(iniFiles[0]); } QString Profile::getProfileTweaks() const |
