aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Support
diff options
context:
space:
mode:
authorCarbenium <carbenium@outlook.com>2015-06-05 22:44:29 +0200
committerCarbenium <carbenium@outlook.com>2015-06-05 23:12:20 +0200
commitc0b4c7f46198a23379456ce014f3b63f9baf3f3e (patch)
treead9f51120f6cf56fa9500795662840460fbbb912 /src/server/game/Support
parentde486ebc2cf8af7f3878d128b0643feeca82942a (diff)
Core/Support: Fix a crash where ObjectAccessor::FindPlayer returned nullptr, since the player wasn't logged in_place
Closes #14842
Diffstat (limited to 'src/server/game/Support')
-rw-r--r--src/server/game/Support/SupportMgr.cpp32
-rw-r--r--src/server/game/Support/SupportMgr.h11
2 files changed, 23 insertions, 20 deletions
diff --git a/src/server/game/Support/SupportMgr.cpp b/src/server/game/Support/SupportMgr.cpp
index 90afcfd1511..5afd6fc1d81 100644
--- a/src/server/game/Support/SupportMgr.cpp
+++ b/src/server/game/Support/SupportMgr.cpp
@@ -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)
{
diff --git a/src/server/game/Support/SupportMgr.h b/src/server/game/Support/SupportMgr.h
index e0adb411aa0..b7c7b5629fb 100644
--- a/src/server/game/Support/SupportMgr.h
+++ b/src/server/game/Support/SupportMgr.h
@@ -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
{