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