aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Player
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-10-16 22:47:02 +0200
committerjackpoz <giacomopoz@gmail.com>2014-10-17 22:35:28 +0200
commitee5eaab598e445e3926edf6e12b1b2b4477c2594 (patch)
tree4a108f6c1d0bf904d19adba49a0a04496c1c4294 /src/server/game/Entities/Player
parentc5ef82cc4834811c6361f81b37d635cc20712f7a (diff)
Core/Players: Fix players not being notified if on loading screen
Fix packets not being sent to players on loading screen even if the system supports these packets to be queued and sent till the player is in world. There might be additional cases where this applies, please report back if you find any. Fixes #11339
Diffstat (limited to 'src/server/game/Entities/Player')
-rw-r--r--src/server/game/Entities/Player/Player.cpp9
-rw-r--r--src/server/game/Entities/Player/SocialMgr.cpp2
2 files changed, 4 insertions, 7 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 0a2dc3366d7..74863b7e6f2 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -4814,11 +4814,8 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe
{
if (Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, 0, (*resultFriends)[0].GetUInt32())))
{
- if (pFriend->IsInWorld())
- {
- pFriend->GetSocial()->RemoveFromSocialList(guid, false);
- sSocialMgr->SendFriendStatus(pFriend, FRIEND_REMOVED, guid, false);
- }
+ pFriend->GetSocial()->RemoveFromSocialList(guid, false);
+ sSocialMgr->SendFriendStatus(pFriend, FRIEND_REMOVED, guid, false);
}
} while (resultFriends->NextRow());
}
@@ -21123,7 +21120,7 @@ void Player::RemovePetitionsAndSigns(ObjectGuid guid, uint32 type)
ObjectGuid petitionguid = ObjectGuid(HIGHGUID_ITEM, fields[1].GetUInt32());
// send update if charter owner in game
- Player* owner = ObjectAccessor::FindPlayer(ownerguid);
+ Player* owner = ObjectAccessor::FindConnectedPlayer(ownerguid);
if (owner)
owner->GetSession()->SendPetitionQueryOpcode(petitionguid);
} while (result->NextRow());
diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp
index 498cdfecf6e..55e48e0623c 100644
--- a/src/server/game/Entities/Player/SocialMgr.cpp
+++ b/src/server/game/Entities/Player/SocialMgr.cpp
@@ -294,7 +294,7 @@ void SocialMgr::BroadcastToFriendListers(Player* player, WorldPacket* packet)
if (itr2 != itr->second.m_playerSocialMap.end() && (itr2->second.Flags & SOCIAL_FLAG_FRIEND))
{
Player* target = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, 0, itr->first));
- if (!target || !target->IsInWorld())
+ if (!target)
continue;
WorldSession* session = target->GetSession();