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