1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-28 10:17:19 +08:00

Merge pull request #17731 from peppy/fix-highlight-null-ref

This commit is contained in:
Salman Ahmed 2022-04-08 20:20:03 +03:00 committed by GitHub
commit 2702f7b9f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 6 deletions

View File

@ -534,11 +534,33 @@ namespace osu.Game.Tests.Visual.Online
}); });
}); });
AddStep("Highlight message and open chat", () => AddStep("Highlight message", () => chatOverlay.HighlightMessage(message, channel1));
}
[Test]
public void TestHighlightWithNullChannel()
{
Message message = null;
AddStep("Join channel 1", () => channelManager.JoinChannel(channel1));
AddStep("Send message in channel 1", () =>
{ {
chatOverlay.HighlightMessage(message, channel1); channel1.AddNewMessages(message = new Message
chatOverlay.Show(); {
ChannelId = channel1.Id,
Content = "Message to highlight!",
Timestamp = DateTimeOffset.Now,
Sender = new APIUser
{
Id = 2,
Username = "Someone",
}
});
}); });
AddStep("Set null channel", () => channelManager.CurrentChannel.Value = null);
AddStep("Highlight message", () => chatOverlay.HighlightMessage(message, channel1));
} }
private void pressChannelHotkey(int number) private void pressChannelHotkey(int number)

View File

@ -178,8 +178,6 @@ namespace osu.Game.Online.Chat
{ {
notificationOverlay.Hide(); notificationOverlay.Hide();
chatOverlay.HighlightMessage(message, channel); chatOverlay.HighlightMessage(message, channel);
chatOverlay.Show();
return true; return true;
}; };
} }

View File

@ -315,7 +315,7 @@ namespace osu.Game.Overlays
{ {
Debug.Assert(channel.Id == message.ChannelId); Debug.Assert(channel.Id == message.ChannelId);
if (currentChannel.Value.Id != channel.Id) if (currentChannel.Value?.Id != channel.Id)
{ {
if (!channel.Joined.Value) if (!channel.Joined.Value)
channel = channelManager.JoinChannel(channel); channel = channelManager.JoinChannel(channel);
@ -324,6 +324,8 @@ namespace osu.Game.Overlays
} }
channel.HighlightedMessage.Value = message; channel.HighlightedMessage.Value = message;
Show();
} }
private float startDragChatHeight; private float startDragChatHeight;