aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-06-13 11:16:17 +0200
committerShauren <shauren.trinity@gmail.com>2014-06-13 11:16:17 +0200
commit58043720420a0f59e95a5e7d226fec3ee98ebfa4 (patch)
treee70111942c3f9fc5f203bcfc77d7126ed9c26ee4 /src/server/game/Grids
parentc75b7942a8f6b5ff7879238fefa3519f6fdd13eb (diff)
Core/Transports: Fixed crash happening during teleporting transports
Closes #11793
Diffstat (limited to 'src/server/game/Grids')
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
index 472497ea5f2..270d598d53a 100644
--- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
@@ -35,7 +35,8 @@ void VisibleNotifier::SendToSelf()
// at this moment i_clientGUIDs have guids that not iterate at grid level checks
// but exist one case when this possible and object not out of range: transports
if (Transport* transport = i_player.GetTransport())
- for (std::set<WorldObject*>::const_iterator itr = transport->GetPassengers().begin(); itr != transport->GetPassengers().end();++itr)
+ {
+ for (Transport::PassengerSet::const_iterator itr = transport->GetPassengers().begin(); itr != transport->GetPassengers().end(); ++itr)
{
if (vis_guids.find((*itr)->GetGUID()) != vis_guids.end())
{
@@ -54,11 +55,15 @@ void VisibleNotifier::SendToSelf()
case TYPEID_UNIT:
i_player.UpdateVisibilityOf((*itr)->ToCreature(), i_data, i_visibleNow);
break;
+ case TYPEID_DYNAMICOBJECT:
+ i_player.UpdateVisibilityOf((*itr)->ToDynObject(), i_data, i_visibleNow);
+ break;
default:
break;
}
}
}
+ }
for (Player::ClientGUIDs::const_iterator it = vis_guids.begin();it != vis_guids.end(); ++it)
{