aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-07-03 00:06:49 +0200
committerNaios <naios-dev@live.de>2016-07-03 00:22:23 +0200
commit1ad73212dca0cf8a829d15ffdbcc4cd611e64d4e (patch)
tree085fd0e8599a99a842c64eb86a5f4298f7301551 /src/server
parentd68316fcd2fc71343edfbd387249b75bd6e8a90f (diff)
Core/EventProcessor: Wait for non deletable events to get deletable.
* Immediate deletion caused issues with the SpellEvent, so we delete it at one of the next update ticks now. * Only affects the unforced cancellation of events. * Ref #16675
Diffstat (limited to 'src/server')
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp10
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 9cf485322f2..9a2134fdea4 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -238,7 +238,7 @@ void Vehicle::RemoveAllPassengers()
while (!_pendingJoinEvents.empty())
{
VehicleJoinEvent* e = _pendingJoinEvents.front();
- e->to_Abort = true;
+ e->ScheduleAbort();
e->Target = eventVehicle;
_pendingJoinEvents.pop_front();
}
@@ -429,7 +429,7 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
if (seat == Seats.end()) // no available seat
{
- e->to_Abort = true;
+ e->ScheduleAbort();
return false;
}
@@ -441,7 +441,7 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
seat = Seats.find(seatId);
if (seat == Seats.end())
{
- e->to_Abort = true;
+ e->ScheduleAbort();
return false;
}
@@ -701,7 +701,7 @@ void Vehicle::RemovePendingEventsForSeat(int8 seatId)
{
if ((*itr)->Seat->first == seatId)
{
- (*itr)->to_Abort = true;
+ (*itr)->ScheduleAbort();
_pendingJoinEvents.erase(itr++);
}
else
@@ -726,7 +726,7 @@ void Vehicle::RemovePendingEventsForPassenger(Unit* passenger)
{
if ((*itr)->Passenger == passenger)
{
- (*itr)->to_Abort = true;
+ (*itr)->ScheduleAbort();
_pendingJoinEvents.erase(itr++);
}
else
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 3d35e4039ba..35606989240 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -470,7 +470,7 @@ void Aura::_Remove(AuraRemoveMode removeMode)
if (m_dropEvent)
{
- m_dropEvent->to_Abort = true;
+ m_dropEvent->ScheduleAbort();
m_dropEvent = nullptr;
}
}