From 34a7f16214d7957a6ad44ec582316ad4d230c6d0 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Thu, 29 Sep 2011 00:37:18 +0000 Subject: [PATCH] Skip over invalid entries in the MRU file rather than crashing on startup Originally committed to SVN as r5670. --- aegisub/libaegisub/common/mru.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/aegisub/libaegisub/common/mru.cpp b/aegisub/libaegisub/common/mru.cpp index 0be6a1f6d..0b61229b8 100644 --- a/aegisub/libaegisub/common/mru.cpp +++ b/aegisub/libaegisub/common/mru.cpp @@ -120,7 +120,12 @@ static json::String cast_str(json::UnknownElement const& e) { /// @param key List name. /// @param array json::Array of values. void MRUManager::Load(const std::string &key, const json::Array& array) { - transform(array.Begin(), array.End(), back_inserter(mru[key]), cast_str); + try { + transform(array.Begin(), array.End(), back_inserter(mru[key]), cast_str); + } + catch (json::Exception const&) { + // Out of date MRU file; just discard the data and skip it + } Prune(mru[key]); }