string[] presetName = r.Split(line);\r
\r
Preset newPreset = new Preset\r
- { Category = category,\r
+ {\r
+ Category = category,\r
Name = presetName[0].Replace("+", "").Trim(),\r
Query = presetName[2],\r
Version = Properties.Settings.Default.hb_version,\r
_presets.Clear();\r
_userPresets.Clear();\r
\r
- // Load in the users _presets from _userPresets.xml\r
- if (File.Exists(_hbPresetFile))\r
+ try\r
{\r
- using (FileStream strm = new FileStream(_hbPresetFile, FileMode.Open, FileAccess.Read))\r
+ // Load in the users _presets from _userPresets.xml\r
+ if (File.Exists(_hbPresetFile))\r
{\r
- if (strm.Length != 0)\r
+ using (FileStream strm = new FileStream(_hbPresetFile, FileMode.Open, FileAccess.Read))\r
{\r
- List<Preset> list = Ser.Deserialize(strm) as List<Preset>;\r
-\r
- if (list != null)\r
- foreach (Preset preset in list)\r
- _presets.Add(preset);\r
+ if (strm.Length != 0)\r
+ {\r
+ List<Preset> list = Ser.Deserialize(strm) as List<Preset>;\r
+\r
+ if (list != null)\r
+ foreach (Preset preset in list)\r
+ _presets.Add(preset);\r
+ }\r
}\r
}\r
}\r
+ catch (Exception)\r
+ {\r
+ MessageBox.Show(\r
+ "HandBrakes preset file appears to have been corrupted. This file will now be re-generated!\n" +\r
+ "If the problem presists, please delete the file: \n\n" + _hbPresetFile, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ UpdateBuiltInPresets();\r
+ }\r
\r
- // Load in the users _presets from _userPresets.xml\r
- if (File.Exists(_userPresetFile))\r
+ try\r
{\r
- using (FileStream strm = new FileStream(_userPresetFile, FileMode.Open, FileAccess.Read))\r
+ // Load in the users _presets from _userPresets.xml\r
+ if (File.Exists(_userPresetFile))\r
{\r
- if (strm.Length != 0)\r
+ using (FileStream strm = new FileStream(_userPresetFile, FileMode.Open, FileAccess.Read))\r
{\r
- List<Preset> list = Ser.Deserialize(strm) as List<Preset>;\r
-\r
- if (list != null)\r
- foreach (Preset preset in list)\r
- _userPresets.Add(preset);\r
+ if (strm.Length != 0)\r
+ {\r
+ List<Preset> list = Ser.Deserialize(strm) as List<Preset>;\r
+\r
+ if (list != null)\r
+ foreach (Preset preset in list)\r
+ _userPresets.Add(preset);\r
+ }\r
}\r
}\r
}\r
+ catch (Exception)\r
+ {\r
+ MessageBox.Show(\r
+ "Your User presets file appears to have been corrupted.\n" +\r
+ "Your presets will not be loaded. You may need to re-create your presets.\n\n" +\r
+ "Your user presets file has been renamed to 'user_presets.xml.old' and is located in:\n " +\r
+ Path.GetDirectoryName(_userPresetFile) + "\n" +\r
+ "You may be able to recover some presets if you know the XML language.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+\r
+ // Recover from Error.\r
+ if (File.Exists(_userPresetFile))\r
+ {\r
+ string disabledFile = _userPresetFile + ".old";\r
+ if (File.Exists(disabledFile))\r
+ File.Delete(disabledFile);\r
+ File.Move(_userPresetFile, disabledFile);\r
+ }\r
+\r
+ }\r
}\r
\r
/// <summary>\r
\r
if (_presets.Count != 0) // Built In Presets\r
{\r
- \r
+\r
foreach (Preset preset in _presets)\r
{\r
if (preset.Category != category)\r