Browse Source

Fix #1971

pull/1972/head
SilverFox 5 years ago
parent
commit
74b571822d
  1. 4
      ILSpy/TextView/DecompilerTextView.cs

4
ILSpy/TextView/DecompilerTextView.cs

@ -1086,12 +1086,12 @@ namespace ICSharpCode.ILSpy.TextView @@ -1086,12 +1086,12 @@ namespace ICSharpCode.ILSpy.TextView
public void SaveFoldingsState(IEnumerable<FoldingSection> foldings)
{
ExpandedFoldings = foldings.Where(f => !f.IsFolded).Select(f => Tuple.Create(f.StartOffset, f.EndOffset)).ToList();
FoldingsChecksum = unchecked(foldings.Select(f => f.StartOffset * 3 - f.EndOffset).Aggregate((a, b) => a + b));
FoldingsChecksum = unchecked(foldings.Select(f => f.StartOffset * 3 - f.EndOffset).DefaultIfEmpty().Aggregate((a, b) => a + b));
}
internal void RestoreFoldings(List<NewFolding> list)
{
var checksum = unchecked(list.Select(f => f.StartOffset * 3 - f.EndOffset).Aggregate((a, b) => a + b));
var checksum = unchecked(list.Select(f => f.StartOffset * 3 - f.EndOffset).DefaultIfEmpty().Aggregate((a, b) => a + b));
if (FoldingsChecksum == checksum)
foreach (var folding in list)
folding.DefaultClosed = !ExpandedFoldings.Any(f => f.Item1 == folding.StartOffset && f.Item2 == folding.EndOffset);

Loading…
Cancel
Save