aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-05 22:42:46 -0500
committermegamage <none@none>2009-06-05 22:42:46 -0500
commitd2c30bd9f08aca991699f727db947cc8de95b63e (patch)
treea9d2edef646389d94afd3c1a42948da38a4b58e1
parent16d3c8378f779face4f1194f194e41907a9cca63 (diff)
*Add some debug info to find crash bug caused by player Notify()
--HG-- branch : trunk
-rw-r--r--src/game/GridNotifiers.cpp10
-rw-r--r--src/game/Map.cpp3
2 files changed, 13 insertions, 0 deletions
diff --git a/src/game/GridNotifiers.cpp b/src/game/GridNotifiers.cpp
index 5158f51d695..2b59a1a9098 100644
--- a/src/game/GridNotifiers.cpp
+++ b/src/game/GridNotifiers.cpp
@@ -73,6 +73,16 @@ PlayerVisibilityNotifier::Notify()
if( i_data.HasData() )
{
+ uint32 entry = 0, map;
+ float x,y;
+ if(!i_visibleNow.empty())
+ {
+ entry = (*i_visibleNow.begin())->GetEntry();
+ map = (*i_visibleNow.begin())->GetMapId();
+ x = (*i_visibleNow.begin())->GetPositionX();
+ y = (*i_visibleNow.begin())->GetPositionY();
+ }
+
// send create/outofrange packet to player (except player create updates that already sent using SendUpdateToPlayer)
WorldPacket packet;
i_data.BuildPacket(&packet);
diff --git a/src/game/Map.cpp b/src/game/Map.cpp
index 144dce1edf6..3f5b0ba8e5e 100644
--- a/src/game/Map.cpp
+++ b/src/game/Map.cpp
@@ -592,7 +592,10 @@ void Map::RelocationNotify()
if(unit->GetTypeId() == TYPEID_PLAYER)
{
Trinity::PlayerRelocationNotifier notifier(*((Player*)unit));
+ if(((Player*)unit)->m_seer != unit)
VisitAll(((Player*)unit)->m_seer->GetPositionX(), ((Player*)unit)->m_seer->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier);
+ else
+ VisitAll(((Player*)unit)->GetPositionX(), ((Player*)unit)->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier);
notifier.Notify();
}
else