From e045a86478b69e02134c3a3c74f463f9118f701b Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Wed, 17 Jul 2024 19:11:40 +0100 Subject: [PATCH] Handle updates containing non numeric characters Smh Dont be stupid --- src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs b/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs index 6c38edb37f..7ea43f85e9 100644 --- a/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/TitleUpdateViewModel.cs @@ -135,17 +135,23 @@ namespace Ryujinx.Ava.UI.ViewModels list.Sort((first, second) => { - if (string.IsNullOrEmpty(first.Control.DisplayVersionString.ToString())) + var firstVersionString = first.Control.DisplayVersionString.ToString(); + var secondVersionString = second.Control.DisplayVersionString.ToString(); + + if (string.IsNullOrEmpty(firstVersionString)) { return -1; } - if (string.IsNullOrEmpty(second.Control.DisplayVersionString.ToString())) + if (string.IsNullOrEmpty(secondVersionString)) { return 1; } - return Version.Parse(first.Control.DisplayVersionString.ToString()).CompareTo(Version.Parse(second.Control.DisplayVersionString.ToString())) * -1; + var firstVersion = Version.Parse(firstVersionString.Where(x => char.IsDigit(x) || x == '.').ToArray()); + var secondVersion = Version.Parse(secondVersionString.Where(x => char.IsDigit(x) || x == '.').ToArray()); + + return firstVersion.CompareTo(secondVersion) * -1; }); Views.Clear();