From ccf18ba0fba6024eef098dcca8df755f1ae09314 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 5 Aug 2026 11:28:46 +0800 Subject: [PATCH] Bug fix https://github.com/2dust/v2rayN/issues/9896 --- .../ViewModels/MainWindowViewModel.cs | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs b/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs index 171acf13..1664c6a6 100644 --- a/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs +++ b/v2rayN/ServiceLib/ViewModels/MainWindowViewModel.cs @@ -84,6 +84,8 @@ public partial class MainWindowViewModel : MyReactiveObject #endregion Menu + private readonly SynchronizationContext _uiContext = SynchronizationContext.Current; + #region Init public MainWindowViewModel() @@ -406,33 +408,14 @@ public partial class MainWindowViewModel : MyReactiveObject private async Task RefreshServersDispatcherAsync() { //await Observable.Start(async () => await RefreshServers(), RxSchedulers.MainThreadScheduler); - - var uiContext = SynchronizationContext.Current; - if (uiContext != null) - { - var uiSequencer = new SynchronizationContextSequencer(uiContext); - uiSequencer.Schedule(() => _ = RefreshServers()); - } - else - { - await RefreshServers(); - } + _uiContext?.Post(_ => _ = RefreshServers(), null); } private async Task RefreshSubscriptions() { //await Observable.Start(async () => await ProfilesViewModel.RefreshSubscriptions(), RxSchedulers.MainThreadScheduler); - var uiContext = SynchronizationContext.Current; - if (uiContext != null) - { - var uiSequencer = new SynchronizationContextSequencer(uiContext); - uiSequencer.Schedule(() => _ = ProfilesViewModel.RefreshSubscriptions()); - } - else - { - await ProfilesViewModel.RefreshSubscriptions(); - } + _uiContext?.Post(_ => _ = ProfilesViewModel.RefreshSubscriptions(), null); } #endregion Servers && Groups