From 60c38bd2e53ceb8be8d52c9a0464a637a594b763 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sun, 8 Jul 2012 23:22:27 +0000 Subject: [PATCH] Fix potential crash when deleting lines with audio open Don't assume that the active line is valid in RegenerateInactiveLines, as it may get called by the commit signal before the selection is updated when the active line is deleted. Closes #1502. Originally committed to SVN as r6932. --- aegisub/src/audio_timing_dialogue.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aegisub/src/audio_timing_dialogue.cpp b/aegisub/src/audio_timing_dialogue.cpp index 177d0456c..37f133b2c 100644 --- a/aegisub/src/audio_timing_dialogue.cpp +++ b/aegisub/src/audio_timing_dialogue.cpp @@ -736,6 +736,8 @@ void AudioTimingControllerDialogue::RegenerateInactiveLines() { std::list::iterator current_line = find(context->ass->Line.begin(), context->ass->Line.end(), line); + if (current_line == context->ass->Line.end()) + break; std::list::iterator prev = current_line; while (--prev != context->ass->Line.begin() && !predicate(*prev)) ;