Merge pull request #10409 from Mailaender/fix-globalchat

Fixed all known crashes in GlobalChat
This commit is contained in:
abcdefg30
2016-01-04 15:42:14 +01:00
2 changed files with 14 additions and 3 deletions

View File

@@ -225,9 +225,17 @@ namespace OpenRA.Chat
void OnKick(object sender, KickEventArgs e) void OnKick(object sender, KickEventArgs e)
{ {
Disconnect(); if (e.Whom == client.Nickname)
connectionStatus = ChatConnectionStatus.Error; {
AddNotification("Error: You were kicked from the chat by {0}".F(e.Who)); Disconnect();
connectionStatus = ChatConnectionStatus.Error;
AddNotification("You were kicked from the chat by {0}. ({1})".F(e.Who, e.KickReason));
}
else
{
Users.Remove(e.Whom);
AddNotification("{0} was kicked from the chat by {1}. ({2})".F(e.Whom, e.Who, e.KickReason));
}
} }
void OnJoin(object sender, JoinEventArgs e) void OnJoin(object sender, JoinEventArgs e)

View File

@@ -379,6 +379,9 @@ namespace OpenRA.Mods.Common.Widgets
void BindingAddImpl(object item) void BindingAddImpl(object item)
{ {
if (makeWidget == null)
return;
var widget = makeWidget(item); var widget = makeWidget(item);
var scrollToBottom = autoScroll && ScrolledToBottom; var scrollToBottom = autoScroll && ScrolledToBottom;