From 2f83f6a79c21cef2dadeaa6ba19d36e163f49f57 Mon Sep 17 00:00:00 2001 From: megamage Date: Sat, 8 Aug 2009 19:05:44 -0500 Subject: *Try to fix a crash caused by adding player to wrong instance. --HG-- branch : trunk --- src/game/Player.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/game') diff --git a/src/game/Player.cpp b/src/game/Player.cpp index cdc9a87e1ae..a4f88581dca 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -14782,6 +14782,12 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder ) instanceId = 0; } + // fix crash (because of if(Map *map = _FindMap(instanceId)) in MapInstanced::CreateInstance) + if(instanceId) + if(InstanceSave * save = GetInstanceSave(mapId)) + if(save->GetInstanceId() != instanceId) + instanceId = 0; + // NOW player must have valid map // load the player's map here if it's not already loaded Map *map = MapManager::Instance().CreateMap(mapId, this, instanceId); -- cgit v1.2.3