summaryrefslogtreecommitdiff
blob: 561e50f0e2b5336a354d1e932481eac1d02bc3e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs
+++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs
@@ -91,8 +91,7 @@ namespace MonoDevelop.PackageManagement
 		ImageLoadedEventArgs LoadImage (Uri uri, object state)
 		{
 			try {
-				var httpClient = new HttpClient (uri);
-				Stream stream = httpClient.GetResponse ().GetResponseStream ();
+				Stream stream = GetResponseStream (uri);
 				Image image = Image.FromStream (stream);
 
 				return new ImageLoadedEventArgs (image, uri, state);
@@ -101,6 +100,17 @@ namespace MonoDevelop.PackageManagement
 			}
 		}
 
+		static Stream GetResponseStream (Uri uri)
+		{
+			if (uri.IsFile) {
+				var request = WebRequest.Create (uri);
+				return request.GetResponse ().GetResponseStream ();
+			}
+
+			var httpClient = new HttpClient (uri);
+			return httpClient.GetResponse ().GetResponseStream ();
+		}
+
 		void OnLoaded (ITask<ImageLoadedEventArgs> task, Uri uri, object state)
 		{
 			if (task.IsFaulted) {