[BUG] ArgumentOutOfRangeException & ObjectDisposedException at NativeWindow.Callback (#172, #173), version 1.0.17.52

This commit is contained in:
Markus Hofknecht 2021-05-29 17:14:36 +02:00
parent 642b3a731e
commit b12ca85489
3 changed files with 13 additions and 22 deletions

View file

@ -148,10 +148,8 @@ namespace SystemTrayMenu.DataClasses
{
icon = IconReader.GetFileIconWithCache(
TargetFilePath,
showOverlay,
false,
out bool toDispose);
diposeIcon = toDispose;
showOverlay);
diposeIcon = false;
}
catch (Exception ex)
{
@ -334,8 +332,8 @@ namespace SystemTrayMenu.DataClasses
{
if (FileUrl.GetDefaultBrowserPath(out string browserPath))
{
icon = IconReader.GetFileIconWithCache(browserPath, true, true, out bool toDispose);
diposeIcon = toDispose;
icon = IconReader.GetFileIconWithCache(browserPath, true);
diposeIcon = false;
handled = true;
}
}

View file

@ -39,5 +39,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.17.51")]
[assembly: AssemblyFileVersion("1.0.17.51")]
[assembly: AssemblyVersion("1.0.17.52")]
[assembly: AssemblyFileVersion("1.0.17.52")]

View file

@ -47,31 +47,24 @@ namespace SystemTrayMenu.Utilities
}
}
public static Icon GetFileIconWithCache(string filePath, bool linkOverlay, bool isBrowser, out bool toDispose)
public static Icon GetFileIconWithCache(string filePath, bool linkOverlay)
{
Icon icon = null;
string extension = Path.GetExtension(filePath);
IconSize size = IconSize.Small;
if (isBrowser)
{
extension = "DefaultBrowserPath";
}
if (IsExtensionWitSameIcon(extension))
{
icon = DictIconCache.GetOrAdd(extension + linkOverlay, GetIcon);
Icon GetIcon(string keyExtension)
{
return GetFileIconSTA(filePath, linkOverlay, size);
}
toDispose = false;
}
else
{
icon = GetFileIconSTA(filePath, linkOverlay, size);
toDispose = true;
icon = DictIconCache.GetOrAdd(filePath, GetIcon);
}
Icon GetIcon(string keyExtension)
{
return GetFileIconSTA(filePath, linkOverlay, size);
}
return icon;