Fixed some race conditions

This commit is contained in:
RogueException
2015-10-22 23:26:08 -03:00
parent c03095cda7
commit 722ba1cc91
2 changed files with 20 additions and 17 deletions

View File

@@ -592,26 +592,29 @@ namespace Discord
{
var data = e.Payload.ToObject<TypingStartEvent>(_serializer);
var channel = _channels[data.ChannelId];
var user = _members[data.UserId, channel.ServerId];
if (channel != null)
{
var user = _members[data.UserId, channel.ServerId];
if (user != null)
{
if (channel != null)
RaiseUserIsTyping(user, channel);
}
if (Config.TrackActivity)
{
/*if (channel.IsPrivate)
if (user != null)
{
if (user != null)
user.UpdateActivity();
if (channel != null)
RaiseUserIsTyping(user, channel);
}
else*/
if (!channel.IsPrivate)
if (Config.TrackActivity)
{
var member = _members[data.UserId, channel.ServerId];
if (member != null)
member.UpdateActivity();
/*if (channel.IsPrivate)
{
if (user != null)
user.UpdateActivity();
}
else*/
if (!channel.IsPrivate)
{
var member = _members[data.UserId, channel.ServerId];
if (member != null)
member.UpdateActivity();
}
}
}
}

View File

@@ -186,7 +186,7 @@ namespace Discord
{
//Set roles, with the everyone role added too
string[] newRoles = new string[roleIds.Length + 1];
newRoles[0] = Server.EveryoneRoleId;
newRoles[0] = ServerId; //Everyone
for (int i = 0; i < roleIds.Length; i++)
newRoles[i + 1] = roleIds[i];
RoleIds = newRoles;