diff --git a/SabreTools.Helper/Dats/DatItem.cs b/SabreTools.Helper/Dats/DatItem.cs index 7340e9dc..fe8754ed 100644 --- a/SabreTools.Helper/Dats/DatItem.cs +++ b/SabreTools.Helper/Dats/DatItem.cs @@ -537,7 +537,7 @@ namespace SabreTools.Helper.Dats { saveditem.SystemID = file.SystemID; saveditem.System = file.System; - saveditem.Machine.Name = file.Machine.Name; + saveditem.Machine = (Machine)file.Machine.Clone(); saveditem.Name = file.Name; } @@ -546,7 +546,7 @@ namespace SabreTools.Helper.Dats { saveditem.SourceID = file.SourceID; saveditem.Source = file.Source; - saveditem.Machine.Name = file.Machine.Name; + saveditem.Machine = (Machine)file.Machine.Clone(); saveditem.Name = file.Name; } diff --git a/SabreTools.Helper/Dats/Machine.cs b/SabreTools.Helper/Dats/Machine.cs index e5b2dc81..6958470f 100644 --- a/SabreTools.Helper/Dats/Machine.cs +++ b/SabreTools.Helper/Dats/Machine.cs @@ -5,7 +5,7 @@ using SabreTools.Helper.Data; namespace SabreTools.Helper.Dats { - public class Machine + public class Machine : ICloneable { #region Protected instance variables @@ -128,5 +128,30 @@ namespace SabreTools.Helper.Dats } #endregion + + #region Cloneing + + public object Clone() + { + return new Machine() + { + Name = _name, + Comment = _comment, + Description = _description, + Year = _year, + Manufacturer = _manufacturer, + RomOf = _romOf, + CloneOf = _cloneOf, + SampleOf = _sampleOf, + SourceFile = _sourceFile, + Runnable = _runnable, + Board = _board, + RebuildTo = _rebuildTo, + Devices = _devices, + MachineType = _machineType, + }; + } + + #endregion } }