From 1677e700b2f58ebd355167aff9ddc28940abc21a Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 19 Apr 2014 20:04:02 -0700 Subject: [PATCH] Add missing error checking for opening the output zip file in the fonts collector --- src/dialog_fonts_collector.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dialog_fonts_collector.cpp b/src/dialog_fonts_collector.cpp index 41d33da77..eb798951a 100644 --- a/src/dialog_fonts_collector.cpp +++ b/src/dialog_fonts_collector.cpp @@ -101,7 +101,13 @@ void FontsCollectorThread(AssFile *subs, agi::fs::path const& destination, FcMod std::unique_ptr zip; if (oper == CopyToZip) { out.reset(new wxFFileOutputStream(destination.wstring())); - zip.reset(new wxZipOutputStream(*out)); + if (out->IsOk()) + zip.reset(new wxZipOutputStream(*out)); + if (!out->IsOk() || !zip || !zip->IsOk()) { + AppendText(wxString::Format(_("* Failed to open %s.\n"), destination.wstring()), 2); + collector->AddPendingEvent(wxThreadEvent(EVT_COLLECTION_DONE)); + return; + } } int64_t total_size = 0;