Browse Source

Fix Channel.UserIds thread safety and recursion

tags/docs-0.9
RogueException 9 years ago
parent
commit
c2acc2c28e
2 changed files with 4 additions and 5 deletions
  1. +4
    -4
      src/Discord.Net/Models/Channel.cs
  2. +0
    -1
      src/Discord.Net/Models/Member.cs

+ 4
- 4
src/Discord.Net/Models/Channel.cs 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]);


+ 0
- 1
src/Discord.Net/Models/Member.cs 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; }


Loading…
Cancel
Save