From 24fde36e7ff88ab3dfe6fb4bcb5ddf2c81cfce92 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 14 Apr 2012 03:17:15 +0000 Subject: [PATCH] Don't fallback to default when trying to create a nonexistent CSRI renderer, as that should never happen Originally committed to SVN as r6698. --- aegisub/src/subtitles_provider_csri.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/aegisub/src/subtitles_provider_csri.cpp b/aegisub/src/subtitles_provider_csri.cpp index 3476991ce..5605d254a 100644 --- a/aegisub/src/subtitles_provider_csri.cpp +++ b/aegisub/src/subtitles_provider_csri.cpp @@ -64,22 +64,15 @@ CSRISubtitlesProvider::CSRISubtitlesProvider(std::string type) { wxMutexLocker lock(csri_mutex); - csri_rend *cur = NULL; - - // Select renderer - for (cur = csri_renderer_default(); cur; cur = csri_renderer_next(cur)) { - std::string name(csri_renderer_info(cur)->name); - if (name == type) { + for (csri_rend *cur = csri_renderer_default(); cur; cur = csri_renderer_next(cur)) { + if (type == csri_renderer_info(cur)->name) { renderer = cur; break; } } - // Matching renderer not found, fallback to default if (!renderer) - renderer = csri_renderer_default(); - if (!renderer) - throw "No CSRI renderer available, cannot show subtitles. Try installing one or switch to another subtitle provider."; + throw agi::InternalError("CSRI renderer vanished between initial list and creation?", 0); std::string name(csri_renderer_info(renderer)->name); can_open_mem = (name.find("vsfilter") == name.npos);