Explorar o código

Fix race in MeteredNetworkManager, where device disconnects

Fixes #291
Antony Male %!s(int64=9) %!d(string=hai) anos
pai
achega
49628a7a3d
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/SyncTrayzor/Services/Metering/MeteredNetworkManager.cs

+ 3 - 1
src/SyncTrayzor/Services/Metering/MeteredNetworkManager.cs

@@ -301,7 +301,9 @@ namespace SyncTrayzor.Services.Metering
                 return false;
             }
 
-            var shouldBePaused = device.IsConnected && this.costManager.IsConnectionMetered(device.Address.Address);
+            // The device can become disconnected at any point....
+            var deviceAddress = device.Address;
+            var shouldBePaused = device.IsConnected && deviceAddress != null && this.costManager.IsConnectionMetered(deviceAddress.Address);
 
             bool changed = false;