Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Handlers/CharacterHandler.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/scripts/Spells/spell_paladin.cpp
This commit is contained in:
commit
83c2e79d52
19 files changed
+221
-204
No files matched your search
@@ -124,7 +124,9 @@ WorldSession::WorldSession(uint32 id, WorldSocket* sock, AccountTypes sec, uint8
|
||||
_filterAddonMessages(false),
|
||||
recruiterId(recruiter),
|
||||
isRecruiter(isARecruiter),
|
||||
_RBACData(NULL)
|
||||
_RBACData(NULL),
|
||||
expireTime(60000), // 1 min after socket loss, session is deleted
|
||||
forceExit(false)
|
||||
{
|
||||
memset(m_Tutorials, 0, sizeof(m_Tutorials));
|
||||
|
||||
@@ -449,8 +451,12 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
|
||||
///- Cleanup socket pointer if need
|
||||
if (m_Socket && m_Socket->IsClosed())
|
||||
{
|
||||
m_Socket->RemoveReference();
|
||||
m_Socket = NULL;
|
||||
expireTime -= expireTime > diff ? diff : expireTime;
|
||||
if (expireTime < diff || forceExit)
|
||||
{
|
||||
m_Socket->RemoveReference();
|
||||
m_Socket = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (!m_Socket)
|
||||
@@ -476,7 +482,6 @@ void WorldSession::LogoutPlayer(bool save)
|
||||
DoLootRelease(lguid);
|
||||
|
||||
///- If the player just died before logging out, make him appear as a ghost
|
||||
//FIXME: logout must be delayed in case lost connection with client in time of combat
|
||||
if (_player->GetDeathTimer())
|
||||
{
|
||||
_player->getHostileRefManager().deleteReferences();
|
||||
@@ -606,7 +611,10 @@ void WorldSession::LogoutPlayer(bool save)
|
||||
void WorldSession::KickPlayer()
|
||||
{
|
||||
if (m_Socket)
|
||||
{
|
||||
m_Socket->CloseSocket();
|
||||
forceExit = true;
|
||||
}
|
||||
}
|
||||
|
||||
void WorldSession::SendNotification(const char *format, ...)
|
||||
|
||||
Reference in new issue
Block a user