diff --git a/BizHawk.MultiClient/tools/RamSearch.cs b/BizHawk.MultiClient/tools/RamSearch.cs index 9e752902b2..15b9736e62 100644 --- a/BizHawk.MultiClient/tools/RamSearch.cs +++ b/BizHawk.MultiClient/tools/RamSearch.cs @@ -2128,11 +2128,11 @@ namespace BizHawk.MultiClient TruncateFromFile(); } - private void DoTruncate(List temp) + private void DoTruncate() { SaveUndo(); - MessageLabel.Text = MakeAddressString(undoList.Count) + " removed"; + MessageLabel.Text = MakeAddressString(searchList.Where(x => x.deleted == true).Count()) + " removed"; TrimWeededList(); UpdateLastSearch(); DisplaySearchList(); @@ -2146,16 +2146,37 @@ namespace BizHawk.MultiClient { List temp = new List(); LoadSearchFile(file.FullName, false, true, temp); - DoTruncate(temp); + TruncateList(temp); + DoTruncate(); + } } + private void ClearWeeded() + { + foreach (Watch watch in searchList) + { + watch.deleted = false; + } + } + + + private void TruncateList(List toRemove) + { + ClearWeeded(); + foreach (Watch watch in toRemove) + { + searchList.Where(x => x.address == watch.address).FirstOrDefault().deleted = true; + } + DoTruncate(); + } + /// /// Removes Ram Watch list from the search list /// private void ExcludeRamWatchList() { - DoTruncate(Global.MainForm.RamWatch1.GetRamWatchList()); + TruncateList(Global.MainForm.RamWatch1.GetRamWatchList()); } private void TruncateFromFiletoolStripButton2_Click(object sender, EventArgs e)