From 3decb84e2d9fc32bc2a4ab0c04e860bbc7d491e6 Mon Sep 17 00:00:00 2001 From: Benjamin Popp Date: Sat, 13 Feb 2021 19:52:39 -0600 Subject: [PATCH] Bugfix If the stored metadata doesn't contain a constant (NextExportID, FreeSpaceBuffer, FreeSpaceSearch), then don't update when loading that metadata. Change metadata's default FreeSpaceBuffer to -1 so that such metadata can be recognized. --- src/HexManiac.Core/Models/IDataModel.cs | 6 +++--- src/HexManiac.Core/Models/StoredMetadata.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/HexManiac.Core/Models/IDataModel.cs b/src/HexManiac.Core/Models/IDataModel.cs index 9714a42d..2ccdb4e0 100644 --- a/src/HexManiac.Core/Models/IDataModel.cs +++ b/src/HexManiac.Core/Models/IDataModel.cs @@ -452,9 +452,9 @@ namespace HavenSoft.HexManiac.Core.Models { } } } - model.NextExportID = metadata.NextExportID; - model.FreeSpaceStart = metadata.FreeSpaceSearch; - model.FreeSpaceBuffer = metadata.FreeSpaceBuffer; + if (metadata.NextExportID > 0) model.NextExportID = metadata.NextExportID; + if (metadata.FreeSpaceSearch > 0) model.FreeSpaceStart = metadata.FreeSpaceSearch; + if (metadata.FreeSpaceBuffer > 0) model.FreeSpaceBuffer = metadata.FreeSpaceBuffer; } public static ErrorInfo CompleteArrayExtension(this IDataModel model, ModelDelta changeToken, int count, ref ITableRun table) { diff --git a/src/HexManiac.Core/Models/StoredMetadata.cs b/src/HexManiac.Core/Models/StoredMetadata.cs index a1538355..a41b3a6b 100644 --- a/src/HexManiac.Core/Models/StoredMetadata.cs +++ b/src/HexManiac.Core/Models/StoredMetadata.cs @@ -14,7 +14,7 @@ namespace HavenSoft.HexManiac.Core.Models { public string Version { get; } public int NextExportID { get; } public int FreeSpaceSearch { get; } = -1; - public int FreeSpaceBuffer { get; } = 0x100; + public int FreeSpaceBuffer { get; } = -1; public bool IsEmpty => NamedAnchors.Count == 0 && UnmappedPointers.Count == 0;