From 02202cf7ab176c3bc24e1d7aeea322a9f55ed311 Mon Sep 17 00:00:00 2001
From: Thomas Goyne <plorkyeran@aegisub.org>
Date: Sun, 6 Apr 2014 08:40:30 -0700
Subject: [PATCH] Fix a crash when deleting lines with audio open

---
 src/audio_timing_dialogue.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/audio_timing_dialogue.cpp b/src/audio_timing_dialogue.cpp
index 2b11fb1ac..f3fb95ab1 100644
--- a/src/audio_timing_dialogue.cpp
+++ b/src/audio_timing_dialogue.cpp
@@ -743,10 +743,10 @@ void AudioTimingControllerDialogue::RegenerateInactiveLines()
 	case 2: // Previous and next lines
 		if (AssDialogue *line = context->selectionController->GetActiveLine())
 		{
-			entryIter current_line = context->ass->Line.iterator_to(*line);
-			if (current_line == context->ass->Line.end())
+			bool in_list = !EntryList::node_algorithms::inited(EntryList::value_traits::to_node_ptr(*line));
+			if (!in_list)
 				break;
-
+			entryIter current_line = context->ass->Line.iterator_to(*line);
 			entryIter prev = current_line;
 			while (--prev != context->ass->Line.begin() && !predicate(*prev)) ;
 			if (prev != context->ass->Line.begin())
-- 
GitLab