Ram Search - fixed bug where it crashes if you set to fast mode, restart, then set to detailed (this fix also fixes a lot of other potential bugs and weird behavior)

This commit is contained in:
adelikat 2013-09-29 19:41:03 +00:00
parent 016c7cae47
commit 8619636bdb
1 changed files with 10 additions and 7 deletions

View File

@ -12,25 +12,26 @@ namespace BizHawk.MultiClient
{ {
public enum ComparisonOperator { Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, NotEqual, DifferentBy }; public enum ComparisonOperator { Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, NotEqual, DifferentBy };
public enum Compare { Previous, SpecificValue, SpecificAddress, Changes, Difference } public enum Compare { Previous, SpecificValue, SpecificAddress, Changes, Difference }
private int? _differentBy = null; private int? _differentBy = null;
private Compare _compareTo = Compare.Previous; private Compare _compareTo = Compare.Previous;
private long? _compareValue = null; private long? _compareValue = null;
private ComparisonOperator _operator = ComparisonOperator.Equal; private ComparisonOperator _operator = ComparisonOperator.Equal;
private List<IMiniWatch> _watchList = new List<IMiniWatch>(); private List<IMiniWatch> _watchList = new List<IMiniWatch>();
private Settings _settings; private Settings _settings = new Settings();
private WatchHistory _history = new WatchHistory(true); private WatchHistory _history = new WatchHistory(true);
private bool _keepHistory = true; private bool _keepHistory = true;
public RamSearchEngine(Settings settings) public RamSearchEngine(Settings settings)
{ {
_settings = settings; _settings.Mode = settings.Mode;
_settings.Domain = settings.Domain;
_settings.Size = settings.Size;
_settings.CheckMisAligned = settings.CheckMisAligned;
_settings.Type = settings.Type;
_settings.BigEndian = settings.BigEndian;
_settings.PreviousType = settings.PreviousType;
} }
#region API #region API
@ -192,6 +193,8 @@ namespace BizHawk.MultiClient
get { return _watchList.Count; } get { return _watchList.Count; }
} }
public Settings.SearchMode Mode { get { return _settings.Mode; } }
public MemoryDomain Domain public MemoryDomain Domain
{ {
get { return _settings.Domain; } get { return _settings.Domain; }