Skip to content

Commit b062fc0

Browse files
Catch exceptions and release com objects
1 parent 3e32fca commit b062fc0

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

Plugins/Flow.Launcher.Plugin.Program/Programs/ShellLocalization.cs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.IO;
3+
using System.Runtime.InteropServices;
34
using Windows.Win32;
45
using Windows.Win32.Foundation;
56

@@ -25,12 +26,22 @@ public static unsafe string GetLocalizedName(string path)
2526
return string.Empty;
2627
}
2728

28-
PWSTR displayName;
29-
shellItem.GetDisplayName(Windows.Win32.UI.Shell.SIGDN.SIGDN_NORMALDISPLAY, &displayName);
30-
string filename = displayName.ToString();
31-
PInvoke.CoTaskMemFree(displayName);
32-
33-
return filename;
29+
try
30+
{
31+
PWSTR displayName;
32+
shellItem.GetDisplayName(Windows.Win32.UI.Shell.SIGDN.SIGDN_NORMALDISPLAY, &displayName);
33+
string filename = displayName.ToString();
34+
PInvoke.CoTaskMemFree(displayName);
35+
return filename;
36+
}
37+
catch
38+
{
39+
return string.Empty;
40+
}
41+
finally
42+
{
43+
Marshal.ReleaseComObject(shellItem);
44+
}
3445
}
3546

3647
/// <summary>

0 commit comments

Comments
 (0)