diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 849f11e95..bc050c97b 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -231,4 +231,5 @@ v2.1: - Set a default mirror map if none is found in the config. - Fix clones forgetting sub groups. - Prevent players who have never logged in before from taking over existing accounts. - - Added metrics. \ No newline at end of file + - Added metrics. + - Prevent GM's own permission tests from allowing inherited permissions to override inherited negations (caused when we added the exception override for sub groups). \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java index 07a846791..d8d12d836 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java @@ -1072,9 +1072,11 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { return resultNow; } - // Negation found so store for later - // as we need to continue looking for an Exception. - result = resultNow; + if (!result.resultType.equals(PermissionCheckResult.Type.NEGATION)) { + // No Negation found so store for later + // as we need to continue looking for an Exception. + result = resultNow; + } } for (String sonName : now.getInherits()) {