Finding peace with the UI thread.

There is the issue that in some cases that the ui thread blocked.
This commit is contained in:
miterosan
2018-07-24 04:56:34 +02:00
parent 16db81e9b5
commit 55f0cbf63e
3 changed files with 21 additions and 20 deletions

View File

@ -49,7 +49,9 @@ namespace osu.Game.Overlays.Chat
public void AddItem(Channel channel)
{
if (!ChannelTabControl.Items.Contains(channel))
ChannelTabControl.AddItem(channel);
if (Current.Value == null)
Current.Value = channel;
}

View File

@ -55,15 +55,11 @@ namespace osu.Game.Overlays.Chat
Channel.PendingMessageResolved += pendingMessageResolved;
}
[BackgroundDependencyLoader]
private void load()
{
newMessagesArrived(Channel.Messages);
}
protected override void LoadComplete()
{
base.LoadComplete();
newMessagesArrived(Channel.Messages);
scrollToEnd();
}

View File

@ -124,6 +124,8 @@ namespace osu.Game.Overlays.Chat.Selection
}
public void UpdateAvailableChannels(IEnumerable<Channel> channels)
{
Scheduler.Add(() =>
{
sectionsFlow.ChildrenEnumerable = new[]
{
@ -142,6 +144,7 @@ namespace osu.Game.Overlays.Chat.Selection
c.OnRequestLeave = channel => { OnRequestLeave?.Invoke(channel); };
}
}
});
}
[BackgroundDependencyLoader]