From 3007e0639ceb2bc5fa9b27e206e7bd0fb5376be0 Mon Sep 17 00:00:00 2001 From: Tsanie Lily Date: Tue, 28 Dec 2021 17:24:41 +0800 Subject: [PATCH] fix some register issue --- PhotoThumbnail/TgaThumbnailer.cs | 16 ++++++++++++---- .../PreviewHandlers/PreviewHandler.cs | 2 +- .../PreviewHandlers/WinFormsPreviewHandler.cs | 2 +- .../ThumbnailProviders/ThumbnailProvider.cs | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/PhotoThumbnail/TgaThumbnailer.cs b/PhotoThumbnail/TgaThumbnailer.cs index f4e8fa4..64b433b 100644 --- a/PhotoThumbnail/TgaThumbnailer.cs +++ b/PhotoThumbnail/TgaThumbnailer.cs @@ -13,9 +13,7 @@ namespace PhotoThumbnail [ThumbnailProvider("TgaThumbnailer", ".tga", ThumbnailAdornment = ThumbnailAdornment.PhotoBorder)] public class TgaThumbnailer : ThumbnailProvider, IThumbnailFromStream, IThumbnailFromFile { - #region IThumbnailFromStream Members - - public Bitmap ConstructBitmap(Stream stream, int sideSize) + private Bitmap GetBitmap(Stream stream, int sideSize) { Bitmap bitmap = TgaDecoder.FromStream(stream); @@ -39,6 +37,16 @@ namespace PhotoThumbnail return bitmap; } + #region IThumbnailFromStream Members + + public Bitmap ConstructBitmap(Stream stream, int sideSize) + { + using (stream) + { + return GetBitmap(stream, sideSize); + } + } + #endregion #region IThumbnailFromFile Members @@ -47,7 +55,7 @@ namespace PhotoThumbnail { using (FileStream stream = File.OpenRead(info.FullName)) { - return ConstructBitmap(stream, sideSize); + return GetBitmap(stream, sideSize); } } diff --git a/ShellExtensions/PreviewHandlers/PreviewHandler.cs b/ShellExtensions/PreviewHandlers/PreviewHandler.cs index 9e87656..fc6dee7 100644 --- a/ShellExtensions/PreviewHandlers/PreviewHandler.cs +++ b/ShellExtensions/PreviewHandlers/PreviewHandler.cs @@ -339,7 +339,7 @@ namespace ShellExtensions private static void ThrowIfNotValid(Type type) { var interfaces = type.GetInterfaces(); - if (!interfaces.Any(x => x is IPreviewFromStream || x is IPreviewFromFile)) + if (!interfaces.Any(x => x == typeof(IPreviewFromStream) || x == typeof(IPreviewFromFile))) { throw new NotImplementedException( string.Format(System.Globalization.CultureInfo.InvariantCulture, diff --git a/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs b/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs index ee1627c..0485216 100644 --- a/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs +++ b/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs @@ -1,4 +1,4 @@ -#if PREVIEW_HANDLER +#if PREVIEW_HANDLER_WINFORM using ShellExtensions.Interop; using ShellExtensions.Interop.Common; using ShellExtensions.Resources; diff --git a/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs b/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs index b97e3db..8997737 100644 --- a/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs +++ b/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs @@ -200,9 +200,9 @@ namespace ShellExtensions } var interfaces = type.GetInterfaces(); - bool interfaced = interfaces.Any(x => x is IThumbnailFromStream); + bool interfaced = interfaces.Any(x => x == typeof(IThumbnailFromStream)); - if (interfaces.Any(x => x is IThumbnailFromFile)) + if (interfaces.Any(x => x == typeof(IThumbnailFromFile))) { // According to MSDN (http://msdn.microsoft.com/en-us/library/cc144114(v=VS.85).aspx) // A thumbnail provider that does not implement IInitializeWithStream must opt out of