diff --git a/aegisub/visual_tool.cpp b/aegisub/visual_tool.cpp index 08c989d44..24683efa0 100644 --- a/aegisub/visual_tool.cpp +++ b/aegisub/visual_tool.cpp @@ -257,7 +257,14 @@ void VisualTool::OnMouseEvent (wxMouseEvent &event) { ////////// // Commit void VisualTool::Commit(bool full) { + // Get grid SubtitlesGrid *grid = VideoContext::Get()->grid; + + // See if anything actually changed + AssDialogue *diag = grid->GetDialogue(grid->editBox->linen); + if (diag && grid->editBox->TextEdit->GetText() == diag->Text) return; + + // Commit changes grid->editBox->CommitText(); if (full) grid->ass->FlagAsModified(_("visual typesetting")); grid->CommitChanges(false,!full); diff --git a/aegisub/visual_tool_vector_clip.cpp b/aegisub/visual_tool_vector_clip.cpp index 750643058..cb79f7b65 100644 --- a/aegisub/visual_tool_vector_clip.cpp +++ b/aegisub/visual_tool_vector_clip.cpp @@ -362,6 +362,9 @@ void VisualToolVectorClip::InitializeHold() { // Insert else { + // Check if there is at least one curve to split + if (spline.curves.size() == 0) return; + // Split the curve SplineCurve *c1 = spline.GetCurve(curve); SplineCurve c2;