diff options
author | David KarlasĖ <david.karlas@microsoft.com> | 2018-04-13 18:06:16 +0300 |
---|---|---|
committer | monojenkins <jo.shields+jenkins@xamarin.com> | 2018-04-16 16:03:45 +0300 |
commit | aab87b65567b05faaa1558b7b836bb3e5bccbf8a (patch) | |
tree | 7430f3da97a288b2dbe5043e0d59c56f9d183578 /main/src/core | |
parent | 53358a83e02685004082e0f5a87830cdffff0278 (diff) |
We need to handle `updateChannelId` which is not Stable/Beta/Alpha This can be set via environment variable `VS_UPDATER_SERVICE_URL`. Real fix is not in `.Equals()` using `Id` to compare instead of `Idx`, but since some sorting still depends on Idx, I'm keeping .Idx fix for standard channels.
Diffstat (limited to 'main/src/core')
-rw-r--r-- | main/src/core/MonoDevelop.Core/MonoDevelop.Core.Setup/UpdateChannel.cs | 8 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs | 3 |
2 files changed, 5 insertions, 6 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Setup/UpdateChannel.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Setup/UpdateChannel.cs index 04b80584f3..0b0cee17f1 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Setup/UpdateChannel.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Setup/UpdateChannel.cs @@ -60,7 +60,7 @@ namespace MonoDevelop.Core.Setup return false; } - return a.Idx == Idx; + return a.Id == Id; } public bool Equals (UpdateChannel a) @@ -68,7 +68,7 @@ namespace MonoDevelop.Core.Setup if ((object)a == null) { return false; } - return (a.Idx == Idx); + return (a.Id == Id); } public static bool operator == (UpdateChannel a, UpdateChannel b) @@ -79,7 +79,7 @@ namespace MonoDevelop.Core.Setup if (Object.ReferenceEquals (a, null) || Object.ReferenceEquals (b, null)) { return false; } - return a.Idx == b.Idx; + return a.Id == b.Id; } public static bool operator != (UpdateChannel a, UpdateChannel b) @@ -90,7 +90,7 @@ namespace MonoDevelop.Core.Setup if (Object.ReferenceEquals (a, null) || Object.ReferenceEquals (b, null)) { return true; } - return a.Idx != b.Idx; + return a.Id != b.Id; } public static bool operator <= (UpdateChannel a, UpdateChannel b) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs index 0613ef279a..1a8bfb5e26 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs @@ -98,8 +98,7 @@ namespace MonoDevelop.Ide.Updater else if (UpdateChannel.Test.Id == updateChannelId) return UpdateChannel.Test; else - //idx matters in .Equals() so we can't do `new UpdateChannel (updateChannelId, updateChannelId, "", 0);` - throw new NotImplementedException ($"Unknown update channel id:{updateChannelId}"); + return new UpdateChannel (updateChannelId, updateChannelId, "", 0); } set { PropertyService.Set ("MonoDevelop.Ide.AddinUpdater.UpdateChannel", value.Id); |