From f83f0b08f2e64240da3d6ff01fd6922a99cbd637 Mon Sep 17 00:00:00 2001 From: "Yu Leng (from Dev Box)" Date: Thu, 16 Oct 2025 16:48:51 +0800 Subject: [PATCH] update --- .../powerdisplay/PowerDisplay/Helpers/SettingsManager.cs | 5 ----- .../powerdisplay/PowerDisplay/PowerDisplay.csproj | 4 ---- .../PowerDisplay/ViewModels/MainViewModel.cs | 9 ++++++--- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/modules/powerdisplay/PowerDisplay/Helpers/SettingsManager.cs b/src/modules/powerdisplay/PowerDisplay/Helpers/SettingsManager.cs index bbccb1bd58..5b7fc8d615 100644 --- a/src/modules/powerdisplay/PowerDisplay/Helpers/SettingsManager.cs +++ b/src/modules/powerdisplay/PowerDisplay/Helpers/SettingsManager.cs @@ -252,11 +252,6 @@ namespace PowerDisplay.Helpers // Release save permission even on error Interlocked.Exchange(ref _isSaving, 0); } - catch - { - // Ensure we never crash on save - Interlocked.Exchange(ref _isSaving, 0); - } await Task.CompletedTask; // Suppress async warning } diff --git a/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj b/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj index 46e1d59f8f..c693c8c55c 100644 --- a/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj +++ b/src/modules/powerdisplay/PowerDisplay/PowerDisplay.csproj @@ -21,10 +21,6 @@ PowerToys.PowerDisplay.pri true enable - - true - false - false diff --git a/src/modules/powerdisplay/PowerDisplay/ViewModels/MainViewModel.cs b/src/modules/powerdisplay/PowerDisplay/ViewModels/MainViewModel.cs index fa81be54c5..03eed2bb2b 100644 --- a/src/modules/powerdisplay/PowerDisplay/ViewModels/MainViewModel.cs +++ b/src/modules/powerdisplay/PowerDisplay/ViewModels/MainViewModel.cs @@ -692,10 +692,13 @@ public class MainViewModel : INotifyPropertyChanged, IDisposable try { // Use Task.Run to avoid deadlock and wait with timeout - var flushTask = Task.Run(async () => await _settingsManager?.FlushAsync()); - if (!flushTask.Wait(TimeSpan.FromSeconds(2))) + if (_settingsManager != null) { - Logger.LogWarning("Settings flush timed out during dispose"); + var flushTask = Task.Run(async () => await _settingsManager.FlushAsync()); + if (!flushTask.Wait(TimeSpan.FromSeconds(2))) + { + Logger.LogWarning("Settings flush timed out during dispose"); + } } } catch (Exception ex)