mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 16:38:42 +01:00
* Crash Fix for ticket system on closing a ticket (pointer was deleted out of object holder), thanks Visagalis
--HG-- branch : trunk
This commit is contained in:
@@ -560,8 +560,8 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args)
|
||||
|
||||
std::string gmname = m_session->GetPlayer()->GetName();
|
||||
sWorld.SendGMText(LANG_COMMAND_TICKETDELETED, ticket->guid, gmname.c_str());
|
||||
ticketmgr.DeleteGMTicketPermanently(ticket->guid);
|
||||
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
|
||||
ticketmgr.DeleteGMTicketPermanently(ticket->guid);
|
||||
if(plr && plr->IsInWorld())
|
||||
{
|
||||
// Force abandon ticket
|
||||
|
||||
@@ -128,16 +128,20 @@ void WorldSession::HandleGMTicketDeleteOpcode( WorldPacket & /*recv_data*/)
|
||||
|
||||
GM_Ticket* ticket = ticketmgr.GetGMTicketByPlayer(GetPlayer()->GetGUID());
|
||||
|
||||
// Remove Tickets from Player
|
||||
ticketmgr.RemoveGMTicketByPlayer(GetPlayer()->GetGUID());
|
||||
// CHeck for Ticket
|
||||
if(ticket)
|
||||
{
|
||||
// Remove Tickets from Player
|
||||
|
||||
// Response - no errors
|
||||
WorldPacket data(SMSG_GMTICKET_DELETETICKET, 4);
|
||||
data << uint32(9);
|
||||
// Send Packet
|
||||
SendPacket(&data);
|
||||
|
||||
// Response - no errors
|
||||
WorldPacket data(SMSG_GMTICKET_DELETETICKET, 4);
|
||||
data << uint32(9);
|
||||
// Send Packet
|
||||
SendPacket(&data);
|
||||
|
||||
sWorld.SendGMText(LANG_COMMAND_TICKETPLAYERABANDON, GetPlayer()->GetName(), ticket->guid );
|
||||
sWorld.SendGMText(LANG_COMMAND_TICKETPLAYERABANDON, GetPlayer()->GetName(), ticket->guid );
|
||||
ticketmgr.RemoveGMTicketByPlayer(GetPlayer()->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
void WorldSession::HandleGMTicketGetTicketOpcode( WorldPacket & /*recv_data*/)
|
||||
@@ -164,7 +168,6 @@ void WorldSession::HandleGMTicketGetTicketOpcode( WorldPacket & /*recv_data*/)
|
||||
|
||||
SendPacket(&data);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void WorldSession::HandleGMTicketSystemStatusOpcode( WorldPacket & /*recv_data*/)
|
||||
|
||||
Reference in New Issue
Block a user