aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-02-23 17:41:33 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-02-23 17:41:33 +0100
commit550f59e05f81f9b898c463b4379ff72a4d7b0fa6 (patch)
tree7590ec792a5b42021ea2f17ef1a4d349060f6f02
parent4e9cd1e4904f3429d8bf0121af8233a94005bd06 (diff)
Core/Vehicles: Do not allow Unit A to enter vehicle of unit B, when unit B is already on vehicle of unit A.
Fixes a core deadlock and stack overflow as well as client crash in the event of improper scripts.
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 521ee929484..c63510d39a9 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -16423,7 +16423,7 @@ bool Unit::CheckPlayerCondition(Player* pPlayer)
void Unit::EnterVehicle(Vehicle *vehicle, int8 seatId, AuraApplication const * aurApp)
{
- if (!isAlive() || GetVehicleKit() == vehicle)
+ if (!isAlive() || GetVehicleKit() == vehicle || vehicle->GetBase()->IsOnVehicle(this))
return;
if (m_vehicle)