From 6d1cfed0ba412182539817071eaf1dc058a44b7c Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Wed, 18 Dec 2024 11:38:42 +0100 Subject: [PATCH] fix unnecessary config reload on save --- MareSynchronos/MareConfiguration/ConfigurationSaveService.cs | 1 + MareSynchronos/MareConfiguration/ConfigurationServiceBase.cs | 5 +++++ MareSynchronos/MareConfiguration/IConfigService.cs | 1 + 3 files changed, 7 insertions(+) diff --git a/MareSynchronos/MareConfiguration/ConfigurationSaveService.cs b/MareSynchronos/MareConfiguration/ConfigurationSaveService.cs index e33ab5f..64a8ea1 100644 --- a/MareSynchronos/MareConfiguration/ConfigurationSaveService.cs +++ b/MareSynchronos/MareConfiguration/ConfigurationSaveService.cs @@ -113,6 +113,7 @@ public class ConfigurationSaveService : IHostedService WriteIndented = true })).ConfigureAwait(false); File.Move(temp, config.ConfigurationPath, true); + config.UpdateLastWriteTime(); } catch (Exception ex) { diff --git a/MareSynchronos/MareConfiguration/ConfigurationServiceBase.cs b/MareSynchronos/MareConfiguration/ConfigurationServiceBase.cs index 8202804..65cf435 100644 --- a/MareSynchronos/MareConfiguration/ConfigurationServiceBase.cs +++ b/MareSynchronos/MareConfiguration/ConfigurationServiceBase.cs @@ -37,6 +37,11 @@ public abstract class ConfigurationServiceBase : IConfigService where T : ConfigSave?.Invoke(this, EventArgs.Empty); } + public void UpdateLastWriteTime() + { + _configLastWriteTime = GetConfigLastWriteTime(); + } + protected virtual void Dispose(bool disposing) { if (!disposing || _disposed) return; diff --git a/MareSynchronos/MareConfiguration/IConfigService.cs b/MareSynchronos/MareConfiguration/IConfigService.cs index 341f80a..a45917a 100644 --- a/MareSynchronos/MareConfiguration/IConfigService.cs +++ b/MareSynchronos/MareConfiguration/IConfigService.cs @@ -8,4 +8,5 @@ public interface IConfigService : IDisposable where T : IMareConfiguratio string ConfigurationName { get; } string ConfigurationPath { get; } public event EventHandler? ConfigSave; + void UpdateLastWriteTime(); }