From 2e516a95c9c2ea379439581f0fa137c04050d2d5 Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Fri, 28 Feb 2025 15:55:53 +0800 Subject: [PATCH] Fix issue that mainVM fails to work --- Flow.Launcher/App.xaml.cs | 1 + Flow.Launcher/PublicAPIInstance.cs | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher/App.xaml.cs b/Flow.Launcher/App.xaml.cs index 447eca79267..b9bf617033d 100644 --- a/Flow.Launcher/App.xaml.cs +++ b/Flow.Launcher/App.xaml.cs @@ -135,6 +135,7 @@ await Stopwatch.NormalAsync("|App.OnStartup|Startup cost", async () => await imageLoadertask; var mainVM = Ioc.Default.GetRequiredService(); + ((PublicAPIInstance)API).Initialize(mainVM); var window = new MainWindow(_settings, mainVM); Log.Info($"|App.OnStartup|Dependencies Info:{ErrorReporting.DependenciesInfo()}"); diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs index ac22170aeeb..36770f59fc2 100644 --- a/Flow.Launcher/PublicAPIInstance.cs +++ b/Flow.Launcher/PublicAPIInstance.cs @@ -34,18 +34,23 @@ namespace Flow.Launcher public class PublicAPIInstance : IPublicAPI { private readonly Settings _settings; - private readonly MainViewModel _mainVM; + private MainViewModel _mainVM; - #region Constructor + #region Constructor & Initialization - public PublicAPIInstance(Settings settings, MainViewModel mainVM) + public PublicAPIInstance(Settings settings) { _settings = settings; - _mainVM = mainVM; GlobalHotkey.hookedKeyboardCallback = KListener_hookedKeyboardCallback; WebRequest.RegisterPrefix("data", new DataWebRequestFactory()); } + // We must initialize mainVM later to avoid unknown issue that _mainVM fails to work + public void Initialize(MainViewModel mainVM) + { + _mainVM = mainVM; + } + #endregion #region Public API