diff --git a/aegisub/src/export_visible_lines.cpp b/aegisub/src/export_visible_lines.cpp index e8fa95cac..7e676d183 100644 --- a/aegisub/src/export_visible_lines.cpp +++ b/aegisub/src/export_visible_lines.cpp @@ -78,22 +78,18 @@ void AssLimitToVisibleFilter::ProcessSubs(AssFile *subs, wxWindow *export_dialog // Nothing to do if (frame == -1) return; - // Process - using std::list; AssDialogue *diag; entryIter cur, next = subs->Line.begin(); while (next != subs->Line.end()) { - // Set next cur = next++; - // Is dialogue? diag = dynamic_cast(*cur); if (diag) { - int f1 = VFR_Output.GetFrameAtTime(diag->Start.GetMS(),true); - int f2 = VFR_Output.GetFrameAtTime(diag->End.GetMS(),false); - // Invisible, remove frame - if (f1 > frame || f2 < frame) { + if (VFR_Output.GetFrameAtTime(diag->Start.GetMS(),true) > frame || + VFR_Output.GetFrameAtTime(diag->End.GetMS(),false) < frame) { + + delete *cur; subs->Line.erase(cur); } }