From 242c509023ca35813b340121278200300603ae2e Mon Sep 17 00:00:00 2001 From: RogueException Date: Sat, 17 Oct 2015 18:49:17 -0300 Subject: [PATCH] Removed role ordering for permissions resolving --- src/Discord.Net/Models/Member.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Discord.Net/Models/Member.cs b/src/Discord.Net/Models/Member.cs index 2b313510e..c45adfcc5 100644 --- a/src/Discord.Net/Models/Member.cs +++ b/src/Discord.Net/Models/Member.cs @@ -185,18 +185,18 @@ namespace Discord if (channel == null) return; var channelOverwrites = channel.PermissionOverwrites; - var orderedRoles = Roles.OrderBy(x => x.Id); - foreach (var serverRole in orderedRoles) + //var roles = Roles.OrderBy(x => x.Id); + var roles = Roles; + foreach (var serverRole in roles) newPermissions |= serverRole.Permissions.RawValue; - foreach (var denyRole in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Role && x.Deny.RawValue != 0 && orderedRoles.Any(y => y.Id == x.TargetId))) + foreach (var denyRole in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Role && x.Deny.RawValue != 0 && roles.Any(y => y.Id == x.TargetId))) newPermissions &= ~denyRole.Deny.RawValue; - foreach (var allowRole in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Role && x.Allow.RawValue != 0 && orderedRoles.Any(y => y.Id == x.TargetId))) + foreach (var allowRole in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Role && x.Allow.RawValue != 0 && roles.Any(y => y.Id == x.TargetId))) newPermissions |= allowRole.Allow.RawValue; foreach (var denyMembers in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Member && x.TargetId == UserId && x.Deny.RawValue != 0)) newPermissions &= ~denyMembers.Deny.RawValue; foreach (var allowMembers in channelOverwrites.Where(x => x.TargetType == PermissionTarget.Member && x.TargetId == UserId && x.Allow.RawValue != 0)) newPermissions |= allowMembers.Allow.RawValue; - } permissions.SetRawValueInternal(newPermissions);