aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElron103 <scarymovie87@gmx.de>2013-10-03 16:57:25 +0200
committerElron103 <scarymovie87@gmx.de>2013-10-03 16:57:25 +0200
commit2b7f29fef2ded8d5859b9d69028143ab84e595dc (patch)
tree34881918c4724d65a2de5f3e2e425c285eab9de3 /src
parent586df8d417f71ea0a624a937fb232e4957f1e964 (diff)
Core/Tickets: Fix crash in TicketMgr::ResetTickets()
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Tickets/TicketMgr.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp
index ccfeb35e5b8..4cb7a8ffc18 100644
--- a/src/server/game/Tickets/TicketMgr.cpp
+++ b/src/server/game/Tickets/TicketMgr.cpp
@@ -257,9 +257,17 @@ void TicketMgr::Initialize()
void TicketMgr::ResetTickets()
{
- for (GmTicketList::const_iterator itr = _ticketList.begin(); itr != _ticketList.end(); ++itr)
+ for (GmTicketList::const_iterator itr = _ticketList.begin(); itr != _ticketList.end();)
+ {
if (itr->second->IsClosed())
- sTicketMgr->RemoveTicket(itr->second->GetId());
+ {
+ uint32 ticketId = itr->second->GetId();
+ ++itr;
+ sTicketMgr->RemoveTicket(ticketId);
+ }
+ else
+ ++itr;
+ }
_lastTicketId = 0;