diff --git a/src/Avalonia.Base/Media/TextFormatting/TextLeadingPrefixCharacterEllipsis.cs b/src/Avalonia.Base/Media/TextFormatting/TextLeadingPrefixCharacterEllipsis.cs index e1f36b5f4cb..a53652d3b3a 100644 --- a/src/Avalonia.Base/Media/TextFormatting/TextLeadingPrefixCharacterEllipsis.cs +++ b/src/Avalonia.Base/Media/TextFormatting/TextLeadingPrefixCharacterEllipsis.cs @@ -147,7 +147,11 @@ public TextLeadingPrefixCharacterEllipsis( var splitSuffix = endShapedRun.Split(run.Length - suffixCount); - collapsedRuns.Add(splitSuffix.Second!); + // Second is null when the split position falls inside an + // unbreakable cluster that reaches the end of the run, so the + // run cannot be split. Keep the whole run as the suffix in + // that case instead of dereferencing a null reference. + collapsedRuns.Add(splitSuffix.Second ?? splitSuffix.First!); } }