From fe0cff0caeda48cd49f5d3898607bdb34704b868 Mon Sep 17 00:00:00 2001 From: PolarCookie Date: Sun, 7 Apr 2019 20:04:14 +0200 Subject: Core: VehicleJoinEvent crash fix (#23136) (cherry picked from commit 73e3fdc8b4545cca52b66032a5f2465183d14c71) --- src/server/game/Entities/Vehicle/Vehicle.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/server') diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index ad8d4653ce2..75aef9ff7f9 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -778,6 +778,11 @@ bool VehicleJoinEvent::Execute(uint64, uint32) return true; } + //It's possible that multiple vehicle join + //events are executed in the same update + if (Passenger->GetVehicle()) + Passenger->ExitVehicle(); + Passenger->SetVehicle(Target); Seat->second.Passenger.Guid = Passenger->GetGUID(); Seat->second.Passenger.IsUnselectable = Passenger->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE); -- cgit v1.2.3