aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Vehicle.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp
index 0aa0d48a24c..54bb5275f45 100644
--- a/src/game/Vehicle.cpp
+++ b/src/game/Vehicle.cpp
@@ -266,10 +266,17 @@ void Vehicle::InstallAccessory(uint32 entry, int8 seatId)
if(!accessory)
return;
- accessory->m_Vehicle = this;
- AddPassenger(accessory, seatId);
- // This is not good, we have to send update twice
- accessory->SendMovementFlagUpdate();
+ if (!accessory->m_Vehicle)
+ {
+ accessory->m_Vehicle = this;
+ if (!AddPassenger(accessory, seatId))
+ {
+ accessory->m_Vehicle = NULL;
+ return;
+ }
+ // This is not good, we have to send update twice
+ accessory->SendMovementFlagUpdate();
+ }
}
bool Vehicle::AddPassenger(Unit *unit, int8 seatId)