summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java9
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java2
2 files changed, 8 insertions, 3 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
index e580918e7..c05065f5e 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
@@ -76,8 +76,13 @@ public class Group extends DataUnit implements Cloneable {
if (dataSource.groupExists(this.getName())) {
return null;
}
- Group clone = getDataSource().createGroup(this.getName());
- clone.inherits = new ArrayList<String>(this.getInherits());
+
+ Group clone = dataSource.createGroup(this.getName());
+
+ // Don't add inheritance for GlobalGroups
+ if (getDataSource() != null) {
+ clone.inherits = new ArrayList<String>(this.getInherits());
+ }
for (String perm : this.getPermissionList()) {
clone.addPermission(perm);
}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
index 8cfb3d14a..6c4cdbcf2 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
@@ -67,7 +67,7 @@ public class User extends DataUnit implements Cloneable {
if (dataSource.getGroup(group) == null) {
clone.setGroup(dataSource.getDefaultGroup());
} else {
- clone.setGroup(this.getGroupName());
+ clone.setGroup(dataSource.getGroup(this.getGroupName()));
}
for (String perm : this.getPermissionList()) {
clone.addPermission(perm);