Skip to content

Commit 10f3bcb

Browse files
committed
Check null for ContextMenu
1 parent 55e7ce0 commit 10f3bcb

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static class PluginManager
2222

2323
public static List<PluginPair> AllPlugins { get; private set; }
2424
public static readonly HashSet<PluginPair> GlobalPlugins = new();
25-
public static readonly Dictionary<string, PluginPair> NonGlobalPlugins = new ();
25+
public static readonly Dictionary<string, PluginPair> NonGlobalPlugins = new();
2626

2727
public static IPublicAPI API { private set; get; }
2828

@@ -33,7 +33,10 @@ public static class PluginManager
3333
/// <summary>
3434
/// Directories that will hold Flow Launcher plugin directory
3535
/// </summary>
36-
private static readonly string[] Directories = { Constant.PreinstalledDirectory, DataLocation.PluginsDirectory };
36+
private static readonly string[] Directories =
37+
{
38+
Constant.PreinstalledDirectory, DataLocation.PluginsDirectory
39+
};
3740

3841
private static void DeletePythonBinding()
3942
{
@@ -100,7 +103,7 @@ public static async Task InitializePlugins(IPublicAPI api)
100103
try
101104
{
102105
var milliseconds = await Stopwatch.DebugAsync($"|PluginManager.InitializePlugins|Init method time cost for <{pair.Metadata.Name}>",
103-
() => pair.Plugin.InitAsync(new PluginInitContext(pair.Metadata, API)));
106+
() => pair.Plugin.InitAsync(new PluginInitContext(pair.Metadata, API)));
104107

105108
pair.Metadata.InitTime += milliseconds;
106109
Log.Info(
@@ -149,7 +152,10 @@ public static ICollection<PluginPair> ValidPluginsForQuery(Query query)
149152
if (NonGlobalPlugins.ContainsKey(query.ActionKeyword))
150153
{
151154
var plugin = NonGlobalPlugins[query.ActionKeyword];
152-
return new List<PluginPair> { plugin };
155+
return new List<PluginPair>
156+
{
157+
plugin
158+
};
153159
}
154160
else
155161
{
@@ -220,15 +226,15 @@ public static IEnumerable<PluginPair> GetPluginsForInterface<T>() where T : IFea
220226

221227
public static List<Result> GetContextMenusForPlugin(Result result)
222228
{
223-
var results = new List<Result>();
229+
List<Result> results;
224230
var pluginPair = _contextMenuPlugins.FirstOrDefault(o => o.Metadata.ID == result.PluginID);
225231
if (pluginPair != null)
226232
{
227233
var plugin = (IContextMenu)pluginPair.Plugin;
228234

229235
try
230236
{
231-
results = plugin.LoadContextMenus(result);
237+
results = plugin.LoadContextMenus(result) ?? new List<Result>();
232238
foreach (var r in results)
233239
{
234240
r.PluginDirectory = pluginPair.Metadata.PluginDirectory;
@@ -305,4 +311,4 @@ public static void ReplaceActionKeyword(string id, string oldActionKeyword, stri
305311
}
306312
}
307313
}
308-
}
314+
}

0 commit comments

Comments
 (0)