diff --git a/aegisub/src/dialog_fonts_collector.cpp b/aegisub/src/dialog_fonts_collector.cpp index a68d14ff2..642f7ec0e 100644 --- a/aegisub/src/dialog_fonts_collector.cpp +++ b/aegisub/src/dialog_fonts_collector.cpp @@ -403,8 +403,14 @@ FontsCollectorThread::FontsCollectorThread(AssFile *_subs,wxString _destination, /// @return /// wxThread::ExitCode FontsCollectorThread::Entry() { - // Collect - Collect(); + try { + Collect(); + } + catch (...) { + collector->Update(); + if (IsDetached() && TestDestroy()) Delete(); + throw; + } // After done, restore status collector->Update();