Skip to content

Commit 51715ed

Browse files
authored
Reintroducing pull request #875
1 parent 4651102 commit 51715ed

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

src/Artemis.Core/Services/DeviceService.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,10 @@ public void SuspendDeviceProviders()
256256
try
257257
{
258258
_renderService.Value.IsPaused = true;
259-
foreach (DeviceProvider deviceProvider in _pluginManagementService.GetFeaturesOfType<DeviceProvider>().Where(d => d.SuspendSupported))
260-
SuspendDeviceProvider(deviceProvider);
259+
foreach (DeviceProvider deviceProvider in _pluginManagementService.GetFeaturesOfType<DeviceProvider>())
260+
{
261+
SuspendDeviceProvider(deviceProvider, deviceProvider.SuspendSupported);
262+
}
261263
}
262264
finally
263265
{
@@ -278,7 +280,9 @@ public void ResumeDeviceProviders()
278280
{
279281
_renderService.Value.IsPaused = true;
280282
foreach (DeviceProvider deviceProvider in _suspendedDeviceProviders.ToList())
283+
{
281284
ResumeDeviceProvider(deviceProvider);
285+
}
282286
}
283287
finally
284288
{
@@ -287,7 +291,7 @@ public void ResumeDeviceProviders()
287291
}
288292
}
289293

290-
private void SuspendDeviceProvider(DeviceProvider deviceProvider)
294+
private void SuspendDeviceProvider(DeviceProvider deviceProvider, bool callSuspend)
291295
{
292296
if (_suspendedDeviceProviders.Contains(deviceProvider))
293297
{
@@ -298,7 +302,10 @@ private void SuspendDeviceProvider(DeviceProvider deviceProvider)
298302
try
299303
{
300304
_pluginManagementService.DisablePluginFeature(deviceProvider, false);
301-
deviceProvider.Suspend();
305+
if (callSuspend)
306+
{
307+
deviceProvider.Suspend();
308+
}
302309
_suspendedDeviceProviders.Add(deviceProvider);
303310
_logger.Information("Device provider {DeviceProvider} suspended", deviceProvider.Info.Name);
304311
}
@@ -445,4 +452,4 @@ protected virtual void OnLedsChanged()
445452
}
446453

447454
#endregion
448-
}
455+
}

0 commit comments

Comments
 (0)