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