From f9b1af1b19d7afafb605347a53085b818adf1ce6 Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 26 Dec 2011 12:53:16 -0700 Subject: [PATCH] fixed null pointer exceptions during save and initializing regions --- TShockAPI/BackupManager.cs | 3 ++- TShockAPI/DB/RegionManager.cs | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/TShockAPI/BackupManager.cs b/TShockAPI/BackupManager.cs index e56bbffa..bd2e6f56 100644 --- a/TShockAPI/BackupManager.cs +++ b/TShockAPI/BackupManager.cs @@ -69,7 +69,8 @@ namespace TShockAPI foreach (TSPlayer player in TShock.Players) { - if (player.IsLoggedIn) + // prevent null point exceptions + if (player != null && player.IsLoggedIn) { TShock.InventoryDB.InsertPlayerData(player); } diff --git a/TShockAPI/DB/RegionManager.cs b/TShockAPI/DB/RegionManager.cs index da2f7246..ad3ea38c 100644 --- a/TShockAPI/DB/RegionManager.cs +++ b/TShockAPI/DB/RegionManager.cs @@ -664,12 +664,20 @@ namespace TShockAPI.DB public void SetAllowedGroups( String groups ) { - List groupArr = groups.Split(',').ToList(); - - for (int i = 0; i < groupArr.Count; i++) - groupArr[i] = groupArr[i].Trim(); + // prevent null pointer exceptions + if (!string.IsNullOrEmpty(groups)) + { + List groupArr = groups.Split(',').ToList(); - AllowedGroups = groupArr; + for (int i = 0; i < groupArr.Count; i++) + groupArr[i] = groupArr[i].Trim(); + + AllowedGroups = groupArr; + } + else + { + AllowedGroups = new List(); + } } public void RemoveID(int id)