Merge pull request #20259 from peppy/fix-changelog-crash

Fix potential crash when opening changelog overlay if entry has no URL
This commit is contained in:
Dan Balasescu 2022-09-12 19:47:21 +09:00 committed by GitHub
commit 5bd0be14ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,7 @@
#nullable disable
using System;
using System.Diagnostics;
using System.Net;
using System.Text.RegularExpressions;
using osu.Framework.Allocation;
@ -93,7 +94,7 @@ namespace osu.Game.Overlays.Changelog
t.Colour = entryColour;
});
if (!string.IsNullOrEmpty(entry.Repository))
if (!string.IsNullOrEmpty(entry.Repository) && !string.IsNullOrEmpty(entry.GithubUrl))
addRepositoryReference(title, entryColour);
if (entry.GithubUser != null)
@ -104,17 +105,22 @@ namespace osu.Game.Overlays.Changelog
private void addRepositoryReference(LinkFlowContainer title, Color4 entryColour)
{
Debug.Assert(!string.IsNullOrEmpty(entry.Repository));
Debug.Assert(!string.IsNullOrEmpty(entry.GithubUrl));
title.AddText(" (", t =>
{
t.Font = fontLarge;
t.Colour = entryColour;
});
title.AddLink($"{entry.Repository.Replace("ppy/", "")}#{entry.GithubPullRequestId}", entry.GithubUrl,
t =>
{
t.Font = fontLarge;
t.Colour = entryColour;
});
title.AddText(")", t =>
{
t.Font = fontLarge;