From 2e4989cd7cc821e6177d82f17f4940a17be1bc89 Mon Sep 17 00:00:00 2001 From: niksedk Date: Tue, 10 Jan 2012 18:42:07 +0000 Subject: [PATCH] Fix common errors now selects correct line in preview for fix overlapping time codes - thx Majid :) git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@919 99eadd0c-20b8-1223-b5c4-2a2b2df33de2 --- src/Forms/FixCommonErrors.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Forms/FixCommonErrors.cs b/src/Forms/FixCommonErrors.cs index 2e54743a6..35e03c24c 100644 --- a/src/Forms/FixCommonErrors.cs +++ b/src/Forms/FixCommonErrors.cs @@ -468,7 +468,7 @@ namespace Nikse.SubtitleEdit.Forms i+1, p.StartTime, p.EndTime, p.Text, Environment.NewLine); Paragraph prev = _subtitle.GetParagraphOrDefault(i - 1); - Paragraph next = _subtitle.GetParagraphOrDefault(i + 1); + Paragraph next = _subtitle.GetParagraphOrDefault(i + 1); double wantedDisplayTime = Utilities.GetDisplayMillisecondsFromText(p.Text); @@ -518,9 +518,11 @@ namespace Nikse.SubtitleEdit.Forms // overlapping display time for (int i = 1; i < _subtitle.Paragraphs.Count; i++ ) { - Paragraph p = _subtitle.Paragraphs[i]; Paragraph prev = _subtitle.GetParagraphOrDefault(i - 1); + Paragraph target = p; // subtitle to display when clicking on fix in top list view + if (prev != null) + target = prev; string oldCurrent = p.ToString(); string oldPrevious = prev.ToString(); double prevWantedDisplayTime = Utilities.GetDisplayMillisecondsFromText(prev.Text); @@ -534,7 +536,7 @@ namespace Nikse.SubtitleEdit.Forms prev.EndTime.TotalMilliseconds = p.StartTime.TotalMilliseconds - 1; _totalFixes++; noOfOverlappingDisplayTimesFixed++; - AddFixToListView(p, i + 1, fixAction, oldPrevious, prev.ToString()); + AddFixToListView(target, i + 1, fixAction, oldPrevious, prev.ToString()); } } else if (currentWantedDisplayTime <= p.EndTime.TotalMilliseconds - prev.EndTime.TotalMilliseconds) @@ -544,7 +546,7 @@ namespace Nikse.SubtitleEdit.Forms p.StartTime.TotalMilliseconds = prev.EndTime.TotalMilliseconds + 1; _totalFixes++; noOfOverlappingDisplayTimesFixed++; - AddFixToListView(p, i + 1, fixAction, oldCurrent, p.ToString()); + AddFixToListView(target, i + 1, fixAction, oldCurrent, p.ToString()); } } else if (Math.Abs(p.StartTime.TotalMilliseconds - prev.EndTime.TotalMilliseconds) < 10 && p.Duration.TotalMilliseconds > 1) @@ -555,7 +557,7 @@ namespace Nikse.SubtitleEdit.Forms p.StartTime.TotalMilliseconds = prev.EndTime.TotalMilliseconds+1; _totalFixes++; noOfOverlappingDisplayTimesFixed++; - AddFixToListView(p, i + 1, fixAction, oldCurrent, p.ToString()); + AddFixToListView(target, i + 1, fixAction, oldCurrent, p.ToString()); } } else if (Math.Abs(p.StartTime.TotalMilliseconds - prev.StartTime.TotalMilliseconds) < 10 && Math.Abs(p.EndTime.TotalMilliseconds - prev.EndTime.TotalMilliseconds) < 10) @@ -577,7 +579,7 @@ namespace Nikse.SubtitleEdit.Forms p.Text = string.Empty; _totalFixes++; noOfOverlappingDisplayTimesFixed++; - AddFixToListView(p, i + 1, fixAction, oldCurrent, p.ToString()); + AddFixToListView(target, i + 1, fixAction, oldCurrent, p.ToString()); p.StartTime.TotalMilliseconds = prev.EndTime.TotalMilliseconds + 1; p.EndTime.TotalMilliseconds = p.StartTime.TotalMilliseconds + 1;