From f0e0b7e4638487cf507a3e8a6b87b847ea51c953 Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 21 Mar 2016 22:59:41 +0200 Subject: [PATCH] Fix GetInstances method to use calling assembly --- ShareX.HelpersLib/Helpers/Helpers.cs | 9 +++++---- ShareX.UploadersLib/ImageUploaderFactory.cs | 3 --- ShareX.UploadersLib/UploadersConfig.cs | 2 -- ShareX/WorkerTask.cs | 22 --------------------- 4 files changed, 5 insertions(+), 31 deletions(-) diff --git a/ShareX.HelpersLib/Helpers/Helpers.cs b/ShareX.HelpersLib/Helpers/Helpers.cs index 3196db6bb..6d619e024 100644 --- a/ShareX.HelpersLib/Helpers/Helpers.cs +++ b/ShareX.HelpersLib/Helpers/Helpers.cs @@ -1059,10 +1059,11 @@ public static string ParseJSON(string text, string jsonPath) public static T[] GetInstances() where T : class { - return (from t in Assembly.GetExecutingAssembly().GetTypes() - where t.GetInterfaces().Contains(typeof(T)) - && t.GetConstructor(Type.EmptyTypes) != null - select Activator.CreateInstance(t) as T).ToArray(); + var instances = from t in Assembly.GetCallingAssembly().GetTypes() + where t.IsClass && t.IsSubclassOf(typeof(T)) && t.GetConstructor(Type.EmptyTypes) != null + select Activator.CreateInstance(t) as T; + + return instances.ToArray(); } } } \ No newline at end of file diff --git a/ShareX.UploadersLib/ImageUploaderFactory.cs b/ShareX.UploadersLib/ImageUploaderFactory.cs index 5488e6c7a..d00d13fb7 100644 --- a/ShareX.UploadersLib/ImageUploaderFactory.cs +++ b/ShareX.UploadersLib/ImageUploaderFactory.cs @@ -24,10 +24,7 @@ #endregion License Information (GPL v3) using ShareX.HelpersLib; -using System; -using System.Collections.Generic; using System.Linq; -using System.Text; namespace ShareX.UploadersLib { diff --git a/ShareX.UploadersLib/UploadersConfig.cs b/ShareX.UploadersLib/UploadersConfig.cs index d018eaeec..ca3361eff 100644 --- a/ShareX.UploadersLib/UploadersConfig.cs +++ b/ShareX.UploadersLib/UploadersConfig.cs @@ -396,8 +396,6 @@ public bool IsValid(ImageDestination destination) switch (destination) { - case ImageDestination.Imgur: - return ImgurAccountType == AccountType.Anonymous || OAuth2Info.CheckOAuth(ImgurOAuth2Info); case ImageDestination.ImageShack: return ImageShackSettings != null && !string.IsNullOrEmpty(ImageShackSettings.Auth_token); case ImageDestination.TinyPic: diff --git a/ShareX/WorkerTask.cs b/ShareX/WorkerTask.cs index 86b43bafd..a70010caf 100644 --- a/ShareX/WorkerTask.cs +++ b/ShareX/WorkerTask.cs @@ -818,28 +818,6 @@ public UploadResult UploadImage(Stream stream, string fileName) { switch (Info.TaskSettings.ImageDestination) { - case ImageDestination.Imgur: - if (Program.UploadersConfig.ImgurOAuth2Info == null) - { - Program.UploadersConfig.ImgurOAuth2Info = new OAuth2Info(APIKeys.ImgurClientID, APIKeys.ImgurClientSecret); - } - - string albumID = null; - - if (Program.UploadersConfig.ImgurUploadSelectedAlbum && Program.UploadersConfig.ImgurSelectedAlbum != null) - { - albumID = Program.UploadersConfig.ImgurSelectedAlbum.id; - } - - imageUploader = new Imgur(Program.UploadersConfig.ImgurOAuth2Info) - { - UploadMethod = Program.UploadersConfig.ImgurAccountType, - DirectLink = Program.UploadersConfig.ImgurDirectLink, - ThumbnailType = Program.UploadersConfig.ImgurThumbnailType, - UseGIFV = Program.UploadersConfig.ImgurUseGIFV, - UploadAlbumID = albumID - }; - break; case ImageDestination.ImageShack: Program.UploadersConfig.ImageShackSettings.ThumbnailWidth = Info.TaskSettings.AdvancedSettings.ThumbnailPreferredWidth; Program.UploadersConfig.ImageShackSettings.ThumbnailHeight = Info.TaskSettings.AdvancedSettings.ThumbnailPreferredHeight;