aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp11
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h2
2 files changed, 7 insertions, 6 deletions
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 20110a555cd..951b55d9160 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -742,16 +742,17 @@ void Vehicle::RemovePendingEvent(VehicleJoinEvent* e)
* @param seatId Identifier for the seat.
*/
-void Vehicle::RemovePendingEventsForSeat(uint8 seatId)
+void Vehicle::RemovePendingEventsForSeat(int8 seatId)
{
for (std::deque<VehicleJoinEvent*>::iterator itr = _pendingJoinEvents.begin(); itr != _pendingJoinEvents.end();)
{
- std::deque<VehicleJoinEvent*>::iterator cur = itr++;
- if (uint8((*itr)->Seat->first) == seatId)
+ if ((*itr)->Seat->first == seatId)
{
(*itr)->to_Abort = true;
- _pendingJoinEvents.erase(cur);
+ _pendingJoinEvents.erase(itr++);
}
+ else
+ ++itr;
}
}
@@ -775,7 +776,7 @@ bool VehicleJoinEvent::Execute(uint64, uint32)
ASSERT(Passenger->IsInWorld());
ASSERT(Target->GetBase()->IsInWorld());
- Target->RemovePendingEventsForSeat(uint8(Seat->first));
+ Target->RemovePendingEventsForSeat(Seat->first);
Passenger->m_vehicle = Target;
Seat->second.Passenger = Passenger->GetGUID();
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index 65aa6f2517b..4f3d2eea4ec 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -96,7 +96,7 @@ class Vehicle : public TransportBase
void CancelJoinEvent(VehicleJoinEvent* e);
void RemovePendingEvent(VehicleJoinEvent* e);
- void RemovePendingEventsForSeat(uint8 seatId);
+ void RemovePendingEventsForSeat(int8 seatId);
private:
Unit* _me; ///< The underlying unit with the vehicle kit. Can be player or creature.