Fix AreUnifiedThresholdsSynced modifying config.
This commit is contained in:
parent
baf9b47fe9
commit
ae25ed327a
@ -141,7 +141,7 @@ namespace smx_config
|
|||||||
// have no effect.
|
// have no effect.
|
||||||
static public bool AreUnifiedThresholdsSynced(SMX.SMXConfig config)
|
static public bool AreUnifiedThresholdsSynced(SMX.SMXConfig config)
|
||||||
{
|
{
|
||||||
SMX.SMXConfig config2 = config;
|
SMX.SMXConfig config2 = Helpers.DeepClone(config);
|
||||||
SyncUnifiedThresholds(ref config2);
|
SyncUnifiedThresholds(ref config2);
|
||||||
return SamePreset(config, config2);
|
return SamePreset(config, config2);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Runtime.Serialization.Formatters.Binary;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Resources;
|
using System.Windows.Resources;
|
||||||
@ -107,6 +109,19 @@ namespace smx_config
|
|||||||
return new System.ComponentModel.Win32Exception(error).Message;
|
return new System.ComponentModel.Win32Exception(error).Message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://stackoverflow.com/a/129395/136829
|
||||||
|
public static T DeepClone<T>(T obj)
|
||||||
|
{
|
||||||
|
using (var ms = new MemoryStream())
|
||||||
|
{
|
||||||
|
var formatter = new BinaryFormatter();
|
||||||
|
formatter.Serialize(ms, obj);
|
||||||
|
ms.Position = 0;
|
||||||
|
|
||||||
|
return (T) formatter.Deserialize(ms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Work around Enumerable.SequenceEqual not checking if the arrays are null.
|
// Work around Enumerable.SequenceEqual not checking if the arrays are null.
|
||||||
public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
|
public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
|
||||||
{
|
{
|
||||||
|
@ -27,6 +27,7 @@ namespace SMX
|
|||||||
PlatformFlags_FSR = 1 << 1,
|
PlatformFlags_FSR = 1 << 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
public struct PackedSensorSettings {
|
public struct PackedSensorSettings {
|
||||||
// Load cell thresholds:
|
// Load cell thresholds:
|
||||||
public Byte loadCellLowThreshold;
|
public Byte loadCellLowThreshold;
|
||||||
@ -47,6 +48,7 @@ namespace SMX
|
|||||||
};
|
};
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential, Pack=1)]
|
[StructLayout(LayoutKind.Sequential, Pack=1)]
|
||||||
|
[Serializable]
|
||||||
public struct SMXConfig {
|
public struct SMXConfig {
|
||||||
public Byte masterVersion;
|
public Byte masterVersion;
|
||||||
public Byte configVersion;
|
public Byte configVersion;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user