All pastes #610115 Raw Edit

Something

public text v1 · immutable
·published 2007-07-09 08:22 UTC
rendered paste body
Index: InstanceSaveMgr.cpp
===================================================================
--- InstanceSaveMgr.cpp	(revision 748)
+++ InstanceSaveMgr.cpp	(working copy)
@@ -37,6 +37,9 @@
 
 void InstanceSavingManagement::BuildSavedInstancesForPlayer(Player *pPlayer)
 {
+	if(!pPlayer)
+		return;
+
 	bool result = false;
 	bool hasBeenSaved = false;
 	WorldPacket data;
@@ -102,6 +105,9 @@
 
 void InstanceSavingManagement::SavePlayerToInstance(Player *pPlayer, uint32 mapid)
 {
+	if(!pPlayer)
+		return;
+
 	WorldPacket data;
 
     instanceInfoListMutex.Acquire();
@@ -146,6 +152,9 @@
 
 void InstanceSavingManagement::ResetSavedInstancesForPlayer(Player *pPlayer)
 {
+	if(!pPlayer)
+		return;
+
 	bool result;
 	WorldPacket data;
 
@@ -153,9 +162,12 @@
 	InstanceInfo::const_iterator itr;
 	for (itr = mInstanceInfoList.begin();itr != mInstanceInfoList.end(); itr++)
 	{
-		Instance_Map_Info_Holder *p = itr->second;
-        if(p->GetMapInfo()->type == INSTANCE_RAID)
-			continue;
+Instance_Map_Info_Holder *p = itr->second;
+MapInfo *pMapInfo = p->GetMapInfo();
+	if(!pMapInfo)
+	continue;
+	if(pMapInfo->type == INSTANCE_RAID)
+continue;
 
 		if(pPlayer->InGroup())
 			result = p->RemoveGroup(pPlayer->GetGroup()->GetID());
@@ -209,6 +221,9 @@
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 bool InstanceSavingManagement::IsPlayerSavedToMap(uint32 mapid, Player *pPlayer)
 {
+	if(!pPlayer)
+		return false;
+
     instanceInfoListMutex.Acquire();
 	InstanceInfo::iterator itr = mInstanceInfoList.find( mapid );
   
@@ -230,6 +245,9 @@
 }
 bool InstanceSavingManagement::IsPlayerSavedToInstanceId(uint32 mapid, uint32 instanceid, Player *pPlayer)
 {
+	if(!pPlayer)
+		return false;
+
     instanceInfoListMutex.Acquire();
 	InstanceInfo::iterator itr = mInstanceInfoList.find( mapid );
   
@@ -358,6 +376,9 @@
 }
 void InstanceSavingManagement::SaveObjectStateToInstance(Unit *pUnit)
 {
+	if(!pUnit)
+		return;
+
     instanceInfoListMutex.Acquire();
 	InstanceInfo::iterator itr = mInstanceInfoList.find( pUnit->GetMapId() );
 	if(itr != mInstanceInfoList.end())
@@ -392,6 +413,9 @@
 
 Instance_Map_InstanceId_Holder *InstanceSavingManagement::GetRaidAndMMInstance(uint32 mapid, Player * pPlayer)
 {
+	if(!pPlayer)
+		return NULL;
+
     instanceInfoListMutex.Acquire();
 	InstanceInfo::iterator itr = mInstanceInfoList.find( mapid );
 	if(itr != mInstanceInfoList.end())
@@ -413,6 +437,9 @@
 
 void InstanceSavingManagement::BuildRaidSavedInstancesForPlayer(Player *pPlayer)
 {
+	if(!pPlayer)
+		return;
+
 	/*hmm packet structure for this one?
 	counter, mapid time instanceid
 	*/