Fixed GM holding files open and causing the time stamp to be incorrect.

This caused GM to require a '/mansave force' when it shouldn't be
needed.
This commit is contained in:
ElgarL 2011-11-17 05:46:01 +00:00
parent f4e22a17db
commit 022f7ab1d4
2 changed files with 10 additions and 5 deletions

View file

@ -70,4 +70,5 @@ v 1.5:
If the files on Disc have changed AND there have been changes to it's in-memory data it will show a warning. If the files on Disc have changed AND there have been changes to it's in-memory data it will show a warning.
You then MUST issue a '/mansave force' to overwrite the disc files, or a '/manload' to overwrite the memory data. You then MUST issue a '/mansave force' to overwrite the disc files, or a '/manload' to overwrite the memory data.
- Fix for an error in checkFullUserPermission caused by players disconnecting mid perms update. - Fix for an error in checkFullUserPermission caused by players disconnecting mid perms update.
- Notification of being moved to the default group only happens if it's a demotion/promotion (not on join). - Notification of being moved to the default group only happens if it's a demotion/promotion (not on join).
- Fixed GM holding files open and causing the time stamp to be incorrect. This caused GM to require a '/mansave force' when it shouldn't be needed.

View file

@ -338,7 +338,7 @@ public class WorldDataHolder {
} }
this.setDefaultGroup(this.getGroup(ph.getDefaultGroup().getName())); this.setDefaultGroup(this.getGroup(ph.getDefaultGroup().getName()));
this.removeGroupsChangedFlag(); this.removeGroupsChangedFlag();
this.timeStampGroups = ph.getTimeStampGroups(); this.timeStampGroups = getGroupsFile().lastModified();
ph = null; ph = null;
} catch (Exception ex) { } catch (Exception ex) {
@ -368,7 +368,7 @@ public class WorldDataHolder {
tempUser.clone(this); tempUser.clone(this);
} }
this.removeUsersChangedFlag(); this.removeUsersChangedFlag();
this.timeStampUsers = ph.getTimeStampUsers(); this.timeStampUsers = getUsersFile().lastModified();
ph = null; ph = null;
} catch (Exception ex) { } catch (Exception ex) {
@ -925,6 +925,7 @@ public class WorldDataHolder {
out.write(newLine); out.write(newLine);
yaml.dump(root, out); yaml.dump(root, out);
out.close();
} catch (UnsupportedEncodingException ex) { } catch (UnsupportedEncodingException ex) {
} catch (FileNotFoundException ex) { } catch (FileNotFoundException ex) {
} catch (IOException e) { } catch (IOException e) {
@ -995,10 +996,13 @@ public class WorldDataHolder {
opt.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); opt.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
final Yaml yaml = new Yaml(opt); final Yaml yaml = new Yaml(opt);
try { try {
yaml.dump(root, new OutputStreamWriter(new FileOutputStream(usersFile), "UTF-8")); OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(usersFile), "UTF-8");
yaml.dump(root, out);
out.close();
} catch (UnsupportedEncodingException ex) { } catch (UnsupportedEncodingException ex) {
} catch (FileNotFoundException ex) { } catch (FileNotFoundException ex) {
} } catch (IOException e) {
}
} }
// Update the LastModified time. // Update the LastModified time.