diff options
| author | Machiavelli <machiavelli.trinity@gmail.com> | 2010-12-31 17:23:51 +0100 |
|---|---|---|
| committer | Machiavelli <machiavelli.trinity@gmail.com> | 2010-12-31 17:23:51 +0100 |
| commit | 72a115f242f4d4e7de483bb433b46da987dad311 (patch) | |
| tree | cc3db62f096bae5a0d3f185b9086697969c30a07 /src/server/game/Server | |
| parent | 1b18a0ac65f4f7a1aff21970fa3f14bb55ebce0b (diff) | |
Core/Vehicles: Store guids in vehicleseat structures instead of pointers. Fixes a crash with vendor-carrying Mammoth mounts.
Diffstat (limited to 'src/server/game/Server')
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/MovementHandler.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp index 675286e538f..639be0110eb 100755 --- a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp @@ -655,10 +655,13 @@ void WorldSession::HandleEjectPassenger(WorldPacket &data) if (Unit *unit = ObjectAccessor::GetUnit(*_player, guid)) // creatures can be ejected too from player mounts { VehicleSeatEntry const* seat = vehicle->GetSeatForPassenger(unit); + ASSERT(seat); if (seat->IsEjectable()) { + ASSERT(GetPlayer() == vehicle->GetBase()); unit->ExitVehicle(); unit->ToCreature()->ForcedDespawn(1000); + ASSERT(!unit->IsOnVehicle(vehicle->GetBase())); } else sLog->outError("Player %u attempted to eject creature GUID "UI64FMTD" from non-ejectable seat.", GetPlayer()->GetGUIDLow(), GUID_LOPART(guid)); |
