diff options
author | Machiavelli <none@none> | 2009-01-01 18:25:56 +0100 |
---|---|---|
committer | Machiavelli <none@none> | 2009-01-01 18:25:56 +0100 |
commit | 68015c4e94eff0ae5fd0c165e09d88a97fd9cefd (patch) | |
tree | 6bfb30554eb2d826fced0ab7b4a19615ca1e5d0e /src/game/Level1.cpp | |
parent | ae0ce19a7fc964b62eea136c806cd29ab182f0fa (diff) |
* Fix Crash issue caused by closing a ticket.
* Fix potential crash issue caused by improper datatype, SQL included to alter column (Thanks Paradox)
--HG--
branch : trunk
Diffstat (limited to 'src/game/Level1.cpp')
-rw-r--r-- | src/game/Level1.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 71356afb86a..00f0ec47ffd 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -272,7 +272,7 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args) SendSysMessage(LANG_COMMAND_TICKETSHOWLIST); for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr) { - if((*itr)->closed) + if((*itr)->closed == 1) continue; std::stringstream message; @@ -295,7 +295,7 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args) SendSysMessage(LANG_COMMAND_TICKETSHOWONLINELIST); for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr) { - if((*itr)->closed || !objmgr.GetPlayer((*itr)->playerGuid)) + if((*itr)->closed == 1 || !objmgr.GetPlayer((*itr)->playerGuid)) continue; std::stringstream message; @@ -380,22 +380,22 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args) uint64 tguid = atoi(args); GM_Ticket *ticket = ticketmgr.GetGMTicket(tguid); - if(!ticket || ticket->closed) + if(!ticket || ticket->closed == 1) { SendSysMessage(LANG_COMMAND_TICKETNOTEXIST); - return true; + return false; } - if(ticket && ticket->assignedToGM != m_session->GetPlayer()->GetGUID()) + if(ticket && ticket->assignedToGM != 0 && ticket->assignedToGM != m_session->GetPlayer()->GetGUID()) { PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid); - + return false; } - sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, ticket->name, ticket->guid); + sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, ticket->name.c_str(), ticket->guid); ticketmgr.RemoveGMTicket(ticket->guid); Player *plr = objmgr.GetPlayer(ticket->playerGuid); if(!plr || !plr->IsInWorld()) - return true; + return false; // send abandon ticket WorldPacket data(SMSG_GMTICKET_DELETETICKET, 4); @@ -425,7 +425,7 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args) std::string gmname; GM_Ticket *ticket = ticketmgr.GetGMTicket(ticketGuid); - if(!ticket || ticket->closed) + if(!ticket || ticket->closed == 1) { SendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; @@ -517,12 +517,12 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args) Player *cplr = m_session->GetPlayer(); GM_Ticket *ticket = ticketmgr.GetGMTicket(ticketGuid); - if(!ticket || ticket->closed) + if(!ticket || ticket->closed == 1) { PSendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; } - if(ticket->assignedToGM = 0 && ticket->assignedToGM != cplr->GetGUID()) + if(ticket->assignedToGM == 0 && ticket->assignedToGM != cplr->GetGUID()) { gmname = objmgr.GetPlayer(ticket->assignedToGM)->GetName(); PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->guid, gmname.c_str()); @@ -552,7 +552,7 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args) PSendSysMessage(LANG_COMMAND_TICKETNOTEXIST, ticketGuid); return true; } - if(!ticket->closed) + if(!ticket->closed == 1) { SendSysMessage(LANG_COMMAND_TICKETCLOSEFIRST); return true; |