From 6e4f6e2abfc0efa97714d5311c3150f19fbd830b Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Fri, 22 Nov 2024 11:20:12 +0800 Subject: [PATCH] Fix System.OperationCanceledException Issue (#3091) --- Plugins/Flow.Launcher.Plugin.Program/Main.cs | 29 ++++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Main.cs b/Plugins/Flow.Launcher.Plugin.Program/Main.cs index 8bf1830e3..db3c2d222 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Main.cs @@ -60,15 +60,26 @@ namespace Flow.Launcher.Plugin.Program var result = await cache.GetOrCreateAsync(query.Search, async entry => { var resultList = await Task.Run(() => - _win32s.Cast() - .Concat(_uwps) - .AsParallel() - .WithCancellation(token) - .Where(HideUninstallersFilter) - .Where(p => p.Enabled) - .Select(p => p.Result(query.Search, Context.API)) - .Where(r => r?.Score > 0) - .ToList()); + { + try + { + return _win32s.Cast() + .Concat(_uwps) + .AsParallel() + .WithCancellation(token) + .Where(HideUninstallersFilter) + .Where(p => p.Enabled) + .Select(p => p.Result(query.Search, Context.API)) + .Where(r => r?.Score > 0) + .ToList(); + } + catch (OperationCanceledException) + { + // Fix #3091: System.OperationCanceledException Issue + return emptyResults; + } + + }); resultList = resultList.Any() ? resultList : emptyResults;