mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-05-20 04:12:19 +12:00
[BUG] ArgumentOutOfRangeException & ObjectDisposedException at NativeWindow.Callback (#172, #173), version 1.0.17.52
This commit is contained in:
parent
642b3a731e
commit
b12ca85489
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")]
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue