diff options
Diffstat (limited to 'protocols/Facebook')
-rw-r--r-- | protocols/Facebook/src/proto.cpp | 2 | ||||
-rw-r--r-- | protocols/Facebook/src/server.cpp | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/protocols/Facebook/src/proto.cpp b/protocols/Facebook/src/proto.cpp index d3c1355fe3..b2e97d901e 100644 --- a/protocols/Facebook/src/proto.cpp +++ b/protocols/Facebook/src/proto.cpp @@ -226,7 +226,7 @@ int FacebookProto::SetStatus(int iNewStatus) // log off & free all resources if (iNewStatus == ID_STATUS_OFFLINE) { - OnLoggedOut(); + OnShutdown(); m_iStatus = ID_STATUS_OFFLINE; } diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp index 8f6ac2cbcb..f1b6acd9ce 100644 --- a/protocols/Facebook/src/server.cpp +++ b/protocols/Facebook/src/server.cpp @@ -26,7 +26,8 @@ void FacebookProto::ConnectionFailed() m_iStatus = m_iDesiredStatus = ID_STATUS_OFFLINE; ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)m_iStatus, m_iDesiredStatus); - OnLoggedOut(); + + OnShutdown(); } void FacebookProto::OnLoggedIn() @@ -86,10 +87,12 @@ void FacebookProto::OnLoggedIn() void FacebookProto::OnLoggedOut() { - OnShutdown(); - m_impl.m_heartBeat.Stop(); m_bOnline = false; + + ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)m_iStatus, ID_STATUS_OFFLINE); + m_iStatus = m_iDesiredStatus = ID_STATUS_OFFLINE; + setAllContactStatuses(ID_STATUS_OFFLINE); } @@ -254,9 +257,7 @@ LBL_Begin: Netlib_CloseHandle(m_mqttConn); m_mqttConn = nullptr; - int oldStatus = m_iStatus; - m_iDesiredStatus = m_iStatus = ID_STATUS_OFFLINE; - ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)oldStatus, m_iStatus); + OnLoggedOut(); } ///////////////////////////////////////////////////////////////////////////////////////// |