From d62d389d9f3fc3abe541cc0ec0f037649a556a48 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Wed, 26 Aug 2020 22:16:30 +0200 Subject: [PATCH] Modules UI - Fixed activation view not subscribing sometimes Core - Don't attempt to catch a timeout during module override, only pain down that route --- src/Artemis.Core/Services/ModuleService.cs | 8 +++----- .../Module/Tabs/ActivationRequirementsViewModel.cs | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Artemis.Core/Services/ModuleService.cs b/src/Artemis.Core/Services/ModuleService.cs index 7a5560262..201825b1b 100644 --- a/src/Artemis.Core/Services/ModuleService.cs +++ b/src/Artemis.Core/Services/ModuleService.cs @@ -44,12 +44,11 @@ namespace Artemis.Core.Services public async Task SetActiveModuleOverride(Module overrideModule) { + await ActiveModuleSemaphore.WaitAsync(); + if (ActiveModuleOverride == overrideModule) return; - if (!await ActiveModuleSemaphore.WaitAsync(TimeSpan.FromSeconds(10))) - throw new ArtemisCoreException("Timed out while acquiring active module lock"); - try { ActiveModuleOverride = overrideModule; @@ -92,8 +91,7 @@ namespace Artemis.Core.Services if (ActiveModuleOverride != null) return; - if (!await ActiveModuleSemaphore.WaitAsync(TimeSpan.FromSeconds(10))) - throw new ArtemisCoreException("Timed out while acquiring active module lock"); + await ActiveModuleSemaphore.WaitAsync(); try { diff --git a/src/Artemis.UI/Screens/Module/Tabs/ActivationRequirementsViewModel.cs b/src/Artemis.UI/Screens/Module/Tabs/ActivationRequirementsViewModel.cs index d869f9794..1b49b1a4e 100644 --- a/src/Artemis.UI/Screens/Module/Tabs/ActivationRequirementsViewModel.cs +++ b/src/Artemis.UI/Screens/Module/Tabs/ActivationRequirementsViewModel.cs @@ -24,13 +24,11 @@ namespace Artemis.UI.Screens.Module.Tabs public Core.Plugins.Modules.Module Module { get; } public string ActivationType { get; set; } - + protected override void OnActivate() { - if (!Items.Any()) - Items.AddRange(Module.ActivationRequirements.Select(_moduleVmFactory.CreateActivationRequirementViewModel)); - - + Items.Clear(); + Items.AddRange(Module.ActivationRequirements.Select(_moduleVmFactory.CreateActivationRequirementViewModel)); } } } \ No newline at end of file