From 5c2d31d6db608ed05bdccd900bf15cde6154dee7 Mon Sep 17 00:00:00 2001
From: Thomas Goyne <plorkyeran@aegisub.org>
Date: Fri, 19 Oct 2012 13:25:55 -0700
Subject: [PATCH] Fix splitting lines by karaoke

New lines have to be committed before they can be selected.

Closes #1541.
---
 aegisub/src/ass_karaoke.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/aegisub/src/ass_karaoke.cpp b/aegisub/src/ass_karaoke.cpp
index db3759218..bf1585b8b 100644
--- a/aegisub/src/ass_karaoke.cpp
+++ b/aegisub/src/ass_karaoke.cpp
@@ -317,13 +317,16 @@ void AssKaraoke::SplitLines(std::set<AssDialogue*> const& lines, agi::Context *c
 		sel.erase(diag);
 		delete diag;
 		--it;
+
+		did_split = true;
 	}
 
+	if (!did_split) return;
+
+	c->ass->Commit(_("splitting"), AssFile::COMMIT_DIAG_ADDREM | AssFile::COMMIT_DIAG_FULL);
+
 	AssDialogue *new_active = c->selectionController->GetActiveLine();
 	if (!sel.count(c->selectionController->GetActiveLine()))
 		new_active = *sel.begin();
 	c->selectionController->SetSelectionAndActive(sel, new_active);
-
-	if (did_split)
-		c->ass->Commit(_("splitting"), AssFile::COMMIT_DIAG_ADDREM | AssFile::COMMIT_DIAG_FULL);
 }
-- 
GitLab