Fix Channel.UserIds thread safety and recursion

This commit is contained in:
RogueException
2015-10-01 18:54:54 -03:00
parent 1f548d2305
commit c2acc2c28e
2 changed files with 4 additions and 5 deletions

View File

@@ -47,17 +47,17 @@ namespace Discord
[JsonIgnore]
public User Recipient => _client.Users[RecipientId];
private string[] userIds;
private string[] _userIds;
public IEnumerable<string> UserIds
{
get
{
if (!_areMembersStale)
return userIds;
return _userIds;
_userIds = Server.Members.Where(x => x.GetPermissions(Id).Text_ReadMessages).Select(x => x.UserId).ToArray();
_areMembersStale = false;
userIds = Members.Where(x => x.Permissions.Text_ReadMessages).Select(x => x.UserId).ToArray();
return userIds;
return _userIds;
}
}
public IEnumerable<Member> Members => UserIds.Select(x => _client.Members[x, ServerId]);

View File

@@ -31,7 +31,6 @@ namespace Discord
public string SessionId { get; internal set; }
public string Token { get; internal set; }
public PackedPermissions Permissions { get; internal set; }
/// <summary> Returns the id for the game this user is currently playing. </summary>
public string GameId { get; internal set; }