Fix the crash in the visual testcase

This commit is contained in:
miterosan 2018-07-09 22:09:27 +02:00
parent ec914a5095
commit 290b6e5f1d
5 changed files with 8 additions and 6 deletions

View File

@ -3,6 +3,7 @@
using System.ComponentModel; using System.ComponentModel;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Game.Online.Chat;
using osu.Game.Overlays; using osu.Game.Overlays;
namespace osu.Game.Tests.Visual namespace osu.Game.Tests.Visual

View File

@ -15,6 +15,7 @@ using osu.Game.Online.API;
using osu.Game.Online.API.Requests; using osu.Game.Online.API.Requests;
using osu.Game.Online.Chat; using osu.Game.Online.Chat;
using osu.Game.Overlays.Chat; using osu.Game.Overlays.Chat;
using osu.Game.Overlays.Chat.Tabs;
using osu.Game.Users; using osu.Game.Users;
using OpenTK.Graphics; using OpenTK.Graphics;

View File

@ -50,7 +50,7 @@ namespace osu.Game.Online.Chat
private IAPIProvider api; private IAPIProvider api;
private ScheduledDelegate fetchMessagesScheduleder; private ScheduledDelegate fetchMessagesScheduleder;
private GetMessagesRequest fetchMsgReq; private GetMessagesRequest fetchMsgReq;
private GetPrivateMessagesRequest fetchPrivateMsgReq; private GetPrivateMessagesRequest fetchUserMsgReq;
private long? lastChannelMsgId; private long? lastChannelMsgId;
private long? lastUserMsgId; private long? lastUserMsgId;
@ -170,16 +170,16 @@ namespace osu.Game.Online.Chat
); );
if (fetchPrivateMsgReq == null) if (fetchUserMsgReq == null)
fetchMessages( fetchMessages(
() => new GetPrivateMessagesRequest(lastChannelMsgId), () => new GetPrivateMessagesRequest(lastUserMsgId),
messages => messages =>
{ {
if (messages == null) if (messages == null)
return; return;
handleUserMessages(messages); handleUserMessages(messages);
lastUserMsgId = messages.LastOrDefault()?.Id ?? lastUserMsgId; lastUserMsgId = messages.Max(m => m.Id) ?? lastUserMsgId;
fetchPrivateMsgReq = null; fetchUserMsgReq = null;
} }
); );
} }

View File

@ -124,6 +124,7 @@ namespace osu.Game
var channelManager = new ChannelManager(); var channelManager = new ChannelManager();
dependencies.Inject(channelManager); dependencies.Inject(channelManager);
dependencies.Cache(channelManager); dependencies.Cache(channelManager);
AddInternal(channelManager);
dependencies.Cache(RulesetStore = new RulesetStore(contextFactory)); dependencies.Cache(RulesetStore = new RulesetStore(contextFactory));
dependencies.Cache(FileStore = new FileStore(contextFactory, Host.Storage)); dependencies.Cache(FileStore = new FileStore(contextFactory, Host.Storage));

View File

@ -332,7 +332,6 @@ namespace osu.Game.Overlays
channelManager.CurrentChannel.ValueChanged += currentChatChanged; channelManager.CurrentChannel.ValueChanged += currentChatChanged;
channelManager.JoinedChannels.CollectionChanged += joinedChannelsChanged; channelManager.JoinedChannels.CollectionChanged += joinedChannelsChanged;
channelManager.AvailableChannels.CollectionChanged += (sender, args) => channelSelection.UpdateAvailableChannels(channelManager.AvailableChannels); channelManager.AvailableChannels.CollectionChanged += (sender, args) => channelSelection.UpdateAvailableChannels(channelManager.AvailableChannels);
Add(channelManager);
} }
private void postMessage(TextBox textbox, bool newText) private void postMessage(TextBox textbox, bool newText)