Core/Support: Fix a crash where ObjectAccessor::FindPlayer returned nullptr, since the player wasn't logged in_place
Closes #14842
This commit is contained in:
@@ -38,7 +38,7 @@ std::string Ticket::FormatViewMessageString(ChatHandler& handler, char const* cl
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
if (closedName)
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETCLOSED, closedName);
|
||||
if (assignedToName)
|
||||
@@ -173,13 +173,12 @@ std::string GmTicket::FormatViewMessageString(ChatHandler& handler, bool detaile
|
||||
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(curTime - _createTime, true, false)).c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(curTime - _lastModifiedTime, true, false)).c_str());
|
||||
|
||||
std::string name;
|
||||
if (ObjectMgr::GetPlayerNameByGUID(_assignedTo, name))
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, name.c_str());
|
||||
if (!_assignedTo.IsEmpty())
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, GetAssignedToName().c_str());
|
||||
|
||||
if (detailed)
|
||||
{
|
||||
@@ -196,7 +195,7 @@ std::string GmTicket::FormatViewMessageString(ChatHandler& handler, const char*
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
if (szClosedName)
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETCLOSED, szClosedName);
|
||||
if (szAssignedToName)
|
||||
@@ -281,12 +280,11 @@ std::string BugTicket::FormatViewMessageString(ChatHandler& handler, bool detail
|
||||
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(curTime - _createTime, true, false)).c_str());
|
||||
|
||||
std::string name;
|
||||
if (ObjectMgr::GetPlayerNameByGUID(_assignedTo, name))
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, name.c_str());
|
||||
if (!_assignedTo.IsEmpty())
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, GetAssignedToName().c_str());
|
||||
|
||||
if (detailed)
|
||||
{
|
||||
@@ -408,12 +406,11 @@ std::string ComplaintTicket::FormatViewMessageString(ChatHandler& handler, bool
|
||||
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(curTime - _createTime, true, false)).c_str());
|
||||
|
||||
std::string name;
|
||||
if (ObjectMgr::GetPlayerNameByGUID(_assignedTo, name))
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, name.c_str());
|
||||
if (!_assignedTo.IsEmpty())
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, GetAssignedToName().c_str());
|
||||
|
||||
if (detailed)
|
||||
{
|
||||
@@ -495,12 +492,11 @@ std::string SuggestionTicket::FormatViewMessageString(ChatHandler& handler, bool
|
||||
|
||||
std::stringstream ss;
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTGUID, _id);
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayer()->GetName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTNAME, GetPlayerName().c_str());
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(curTime - _createTime, true, false)).c_str());
|
||||
|
||||
std::string name;
|
||||
if (ObjectMgr::GetPlayerNameByGUID(_assignedTo, name))
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, name.c_str());
|
||||
if (!_assignedTo.IsEmpty())
|
||||
ss << handler.PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, GetAssignedToName().c_str());
|
||||
|
||||
if (detailed)
|
||||
{
|
||||
|
||||
@@ -93,8 +93,15 @@ public:
|
||||
|
||||
uint32 GetId() const { return _id; }
|
||||
ObjectGuid GetPlayerGuid() const { return _playerGuid; }
|
||||
Player* GetPlayer() const { return ObjectAccessor::FindPlayer(_playerGuid); }
|
||||
Player* GetAssignedPlayer() const { return ObjectAccessor::FindPlayer(_assignedTo); }
|
||||
Player* GetPlayer() const { return ObjectAccessor::FindConnectedPlayer(_playerGuid); }
|
||||
std::string GetPlayerName() const {
|
||||
std::string name;
|
||||
if (!_playerGuid.IsEmpty())
|
||||
ObjectMgr::GetPlayerNameByGUID(_playerGuid, name);
|
||||
|
||||
return name;
|
||||
}
|
||||
Player* GetAssignedPlayer() const { return ObjectAccessor::FindConnectedPlayer(_assignedTo); }
|
||||
ObjectGuid GetAssignedToGUID() const { return _assignedTo; }
|
||||
std::string GetAssignedToName() const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user