diff options
author | PolarCookie <sei009@post.uit.no> | 2019-04-07 20:04:14 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-26 22:33:43 +0100 |
commit | fe0cff0caeda48cd49f5d3898607bdb34704b868 (patch) | |
tree | 4119c4bd6ed309eff3d1dcac98ae6a000fdf3700 /src | |
parent | 7ea8331fa1a2f0c98afb3854bb9710534d19e6df (diff) |
Core: VehicleJoinEvent crash fix (#23136)
(cherry picked from commit 73e3fdc8b4545cca52b66032a5f2465183d14c71)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Vehicle/Vehicle.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
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); |