Turn broken hotkeys.dat file into a non-fatal error. If the file is broken (usually meaning exists but empty) the existing file will now be copied to hotkeys.bak and the defaults restored and saved as hotkeys.dat.

Originally committed to SVN as r2982.
This commit is contained in:
Niels Martin Hansen 2009-05-24 23:19:28 +00:00
parent 12482ac418
commit 29a9d1fcf1

View file

@ -274,7 +274,15 @@ void HotkeyManager::Load() {
using namespace std;
TextFileReader file(filename);
wxString header = file.ReadLineFromFile();
if (header != _T("[Hotkeys]")) throw _T("Invalid hotkeys file");
if (header != _T("[Hotkeys]")) {
wxFileName backupfn(filename);
backupfn.SetFullName(_T("hotkeys.bak"));
wxCopyFile(filename, backupfn.GetFullPath());
modified = true;
Save();
wxLogWarning(_T("Hotkeys file corrupted, defaults restored.\nA backup of the corrupted file was made."));
return;
}
// Get variables
wxString curLine;