From b19dda6701e67f30428afd2c842bf3a555451306 Mon Sep 17 00:00:00 2001 From: Haven1433 Date: Fri, 19 Aug 2022 22:13:46 -0500 Subject: [PATCH] fix header update during single-table mode --- src/HexManiac.Core/ViewModels/ScrollRegion.cs | 1 + src/HexManiac.Core/ViewModels/Selection.cs | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/HexManiac.Core/ViewModels/ScrollRegion.cs b/src/HexManiac.Core/ViewModels/ScrollRegion.cs index a371ba8a..0c1ed470 100644 --- a/src/HexManiac.Core/ViewModels/ScrollRegion.cs +++ b/src/HexManiac.Core/ViewModels/ScrollRegion.cs @@ -179,6 +179,7 @@ namespace HavenSoft.HexManiac.Core.ViewModels { NotifyPropertyChanged(nameof(MinimumScroll)); NotifyPropertyChanged(nameof(MaximumScroll)); NotifyPropertyChanged(nameof(DataLength)); + UpdateHeaders(); } public void ClearTableMode() => SetTableMode(0, 0); diff --git a/src/HexManiac.Core/ViewModels/Selection.cs b/src/HexManiac.Core/ViewModels/Selection.cs index bf9dda7a..4a82fd01 100644 --- a/src/HexManiac.Core/ViewModels/Selection.cs +++ b/src/HexManiac.Core/ViewModels/Selection.cs @@ -312,8 +312,10 @@ namespace HavenSoft.HexManiac.Core.ViewModels { } private void GotoAddressAndAlign(int address, int preferredWidth, int tableStart = 0) { - Scroll.ClearTableMode(); - Debug.Assert(Scroll.DataLength == model.Count, "I forgot to update the Scroll.DataLength after expanding the data!"); + if (address < Scroll.DataStart || Scroll.DataLength < address) { + Scroll.ClearTableMode(); + Debug.Assert(Scroll.DataLength == model.Count, "I forgot to update the Scroll.DataLength after expanding the data!"); + } var startAddress = address; if (preferredWidth > 1) address -= (address - tableStart) % preferredWidth;