diff --git a/RGB.NET.Core/RGBSurfaceDeviceLoader.cs b/RGB.NET.Core/RGBSurfaceDeviceLoader.cs index 8b7a8b2..844a88c 100644 --- a/RGB.NET.Core/RGBSurfaceDeviceLoader.cs +++ b/RGB.NET.Core/RGBSurfaceDeviceLoader.cs @@ -28,6 +28,7 @@ namespace RGB.NET.Core addedDevice = device; device.PropertyChanged += DeviceOnPropertyChanged; + device.Location.PropertyChanged += DeviceLocationOnPropertyChanged; _devices.Add(device); } } @@ -45,9 +46,17 @@ namespace RGB.NET.Core { SurfaceLayoutChanged?.Invoke(new SurfaceLayoutChangedEventArgs(sender as IRGBDevice, false, true)); UpdateSurfaceRectangle(); + + ((IRGBDevice)sender).Location.PropertyChanged += DeviceLocationOnPropertyChanged; } } + private static void DeviceLocationOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) + { + SurfaceLayoutChanged?.Invoke(new SurfaceLayoutChangedEventArgs(sender as IRGBDevice, false, true)); + UpdateSurfaceRectangle(); + } + #endregion } }