Don't check region group if the flag value is null.

This commit is contained in:
sk89q 2014-08-18 02:32:05 -07:00
parent 0f10e89f7c
commit 095f2aa67e

View File

@ -390,25 +390,28 @@ public <V> V getEffectiveFlag(final ProtectedRegion region, Flag<V> flag, @Nulla
while (current != null) {
V value = current.getFlag(flag);
boolean use = true;
if (flag.getRegionGroupFlag() != null) {
RegionGroup group = current.getFlag(flag.getRegionGroupFlag());
if (group == null) {
group = flag.getRegionGroupFlag().getDefault();
if (value != null) {
boolean use = true;
if (flag.getRegionGroupFlag() != null) {
RegionGroup group = current.getFlag(flag.getRegionGroupFlag());
if (group == null) {
group = flag.getRegionGroupFlag().getDefault();
}
if (subject == null) {
use = group.contains(Association.NON_MEMBER);
} else if (!group.contains(subject.getAssociation(region))) {
use = false;
}
}
if (subject == null) {
use = group.contains(Association.NON_MEMBER);
} else if (!group.contains(subject.getAssociation(region))) {
use = false;
if (use) {
return value;
}
}
if (use && value != null) {
return value;
}
current = current.getParent();
}