diff options
Diffstat (limited to 'grapher/Models/Serialized')
| -rw-r--r-- | grapher/Models/Serialized/SettingsManager.cs | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 8c8bf15..cb42c4e 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -201,30 +201,24 @@ namespace grapher.Models.Serialized bool ActiveProfileIsFirst = ActiveProfile == ActiveConfig.profiles[0]; - foreach (var dev in SystemDevices) MaybeAdd(dev); - - void MaybeAdd(MultiHandleDevice dev) + foreach (var sysDev in SystemDevices) { - foreach (var settings in ActiveConfig.devices) + var settings = ActiveConfig.devices.Find(d => d.id == sysDev.id); + + if (settings is null) { - if (settings.id == dev.id) + if (ActiveProfileIsFirst && !ActiveConfig.defaultDeviceConfig.disable) { - if (!settings.config.disable && - ((ActiveProfileIsFirst && - (string.IsNullOrEmpty(settings.profile) || - !ActiveProfileNamesSet.Contains(settings.profile))) || - ActiveProfile.name == settings.profile)) - { - ActiveHandles.AddRange(dev.handles); - } - - return; + ActiveHandles.AddRange(sysDev.handles); } } - - if (ActiveProfileIsFirst && !ActiveConfig.defaultDeviceConfig.disable) + else if (!settings.config.disable && + ((ActiveProfileIsFirst && + (string.IsNullOrEmpty(settings.profile) || + !ActiveProfileNamesSet.Contains(settings.profile))) || + ActiveProfile.name == settings.profile)) { - ActiveHandles.AddRange(dev.handles); + ActiveHandles.AddRange(sysDev.handles); } } } |