diff --git a/SabreTools.Library/External/NaturalSort/NaturalComparer.cs b/SabreTools.Library/External/NaturalSort/NaturalComparer.cs index d944686f..b7c18660 100644 --- a/SabreTools.Library/External/NaturalSort/NaturalComparer.cs +++ b/SabreTools.Library/External/NaturalSort/NaturalComparer.cs @@ -87,6 +87,12 @@ namespace NaturalSort return Style.CompareNumeric(left, right); } + // If we have an equal part, then make sure that "longer" ones are taken into account + if (x.CompareTo(y) == 0) + { + return left.Length - right.Length; + } + return x.CompareTo(y); } } diff --git a/SabreTools.Library/External/NaturalSort/NaturalReversedComparer.cs b/SabreTools.Library/External/NaturalSort/NaturalReversedComparer.cs index ba191cf0..c35be112 100644 --- a/SabreTools.Library/External/NaturalSort/NaturalReversedComparer.cs +++ b/SabreTools.Library/External/NaturalSort/NaturalReversedComparer.cs @@ -87,6 +87,12 @@ namespace NaturalSort return Style.CompareNumeric(right, left); } + // If we have an equal part, then make sure that "longer" ones are taken into account + if (y.CompareTo(x) == 0) + { + return right.Length - left.Length; + } + return y.CompareTo(x); } }