mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 01:03:44 +01:00 
			
		
		
		
	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:
		| @@ -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); | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 riking
					riking