diff --git a/aegisub/src/ass_file.cpp b/aegisub/src/ass_file.cpp index 36197a131..90967bb25 100644 --- a/aegisub/src/ass_file.cpp +++ b/aegisub/src/ass_file.cpp @@ -189,8 +189,12 @@ void AssFile::SaveMemory(std::vector &dst) { } bool AssFile::CanSave() const { - const SubtitleFormat *writer = SubtitleFormat::GetWriter(filename); - return writer && writer->CanSave(this); + try { + return SubtitleFormat::GetWriter(filename)->CanSave(this); + } + catch (...) { + return false; + } } void AssFile::Clear() {