Flatfile loadProfile - place newUser() inside of try block

This fixes incorrect behavior in the edge-case where an IOException occurs when reading (but not writing) the flatfile database.
This commit is contained in:
riking 2013-10-05 16:14:46 -07:00
parent 9542d7cd79
commit c0128c6912

View File

@ -387,22 +387,30 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
}
PlayerProfile p = loadFromLine(character);
in.close();
return p;
}
// Didn't find the player, create a new one
if (create) {
newUser(playerName);
return new PlayerProfile(playerName, true);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
tryClose(in);
// Silly inlining of tryClose() because the compiler is giving a warning when I use tryClose()
try {
if (in != null) {
in.close();
}
}
catch (IOException ignored) {}
}
}
if (create) {
newUser(playerName);
return new PlayerProfile(playerName, true);
}
// Return unloaded profile
return new PlayerProfile(playerName);
}