Refactor plugin enabled check with thread safety

Extract plugin enabled check into a new CheckPlugin method, adding a lock for thread safety. Update the if statement to use this method instead of inline logic.
This commit is contained in:
Jack251970 2026-02-26 17:24:41 +08:00
parent 17d675e5ce
commit 211eb8a747

View file

@ -35,8 +35,7 @@ namespace Flow.Launcher.Core.Plugin
string possibleActionKeyword = terms[0];
string[] searchTerms;
if (nonGlobalPlugins.TryGetValue(possibleActionKeyword, out var pluginPairs)
&& pluginPairs.Any(plugin => !plugin.Metadata.Disabled))
if (nonGlobalPlugins.TryGetValue(possibleActionKeyword, out var pluginPairs) && CheckPlugin(pluginPairs))
{
// use non global plugin for query
actionKeyword = possibleActionKeyword;
@ -61,5 +60,13 @@ namespace Flow.Launcher.Core.Plugin
IsHomeQuery = false
};
}
private static bool CheckPlugin(List<PluginPair> pluginPairs)
{
lock (pluginPairs)
{
return pluginPairs.Any(plugin => !plugin.Metadata.Disabled);
}
}
}
}