diff --git a/src/Artemis.Core/Services/RgbService.cs b/src/Artemis.Core/Services/RgbService.cs index 22d7b1c66..feff46dc2 100644 --- a/src/Artemis.Core/Services/RgbService.cs +++ b/src/Artemis.Core/Services/RgbService.cs @@ -386,6 +386,10 @@ namespace Artemis.Core.Services private void ReloadDevice(ArtemisDevice device) { + // Any pending changes are otherwise lost including DisableDefaultLayout + device.ApplyToEntity(); + _deviceRepository.Save(device.DeviceEntity); + DeviceProvider deviceProvider = device.DeviceProvider; // Feels bad but need to in order to get the initial LEDs back diff --git a/src/Artemis.UI/Screens/Settings/Device/Tabs/DeviceLedsTabViewModel.cs b/src/Artemis.UI/Screens/Settings/Device/Tabs/DeviceLedsTabViewModel.cs index 5ec8986f7..5ec75422b 100644 --- a/src/Artemis.UI/Screens/Settings/Device/Tabs/DeviceLedsTabViewModel.cs +++ b/src/Artemis.UI/Screens/Settings/Device/Tabs/DeviceLedsTabViewModel.cs @@ -30,22 +30,20 @@ namespace Artemis.UI.Screens.Settings.Device.Tabs #region Overrides of Screen - /// - protected override void OnInitialActivate() + protected override void OnActivate() { BindableCollection selectedLeds = ((DeviceDialogViewModel) Parent).SelectedLeds; LedViewModels.Clear(); LedViewModels.AddRange(Device.Leds.Select(l => new DeviceLedsTabLedViewModel(l, selectedLeds))); selectedLeds.CollectionChanged += SelectedLedsOnCollectionChanged; - base.OnInitialActivate(); + base.OnActivate(); } - /// - protected override void OnClose() + protected override void OnDeactivate() { ((DeviceDialogViewModel) Parent).SelectedLeds.CollectionChanged -= SelectedLedsOnCollectionChanged; - base.OnClose(); + base.OnDeactivate(); } #endregion