diff options
Diffstat (limited to 'FacebookRM/connection.cpp')
-rw-r--r-- | FacebookRM/connection.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/FacebookRM/connection.cpp b/FacebookRM/connection.cpp index b546e79..d871ee1 100644 --- a/FacebookRM/connection.cpp +++ b/FacebookRM/connection.cpp @@ -55,6 +55,8 @@ void FacebookProto::ChangeStatus(void*) ProtoBroadcastAck(m_szModuleName, 0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, m_iStatus);
+ OnLeaveChat(NULL, NULL);
+
SetAllContactStatuses( ID_STATUS_OFFLINE );
ToggleStatusMenuItems(false);
@@ -83,7 +85,6 @@ void FacebookProto::ChangeStatus(void*) facy.home();
facy.reconnect();
- facy.delete_friends();
facy.load_friends();
setDword( "LogonTS", (DWORD)time(NULL) );
@@ -118,6 +119,7 @@ void FacebookProto::ChangeStatus(void*) facy.chat_state( m_iDesiredStatus != ID_STATUS_INVISIBLE );
facy.buddy_list( );
+ facy.facepiles( );
m_iStatus = facy.self_.status_id = m_iDesiredStatus;
ProtoBroadcastAck(m_szModuleName, 0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, m_iStatus);
@@ -179,10 +181,14 @@ void FacebookProto::UpdateLoop(void *) for ( int i = -1; !isOffline(); i = ++i % 6 )
{
- if ( i != -1 )
+ if ( i != -1 ) {
if ( !facy.invisible_ )
if ( !facy.buddy_list( ) )
break;
+ if ( getByte( FACEBOOK_KEY_ENABLE_GROUPCHATS, DEFAULT_ENABLE_GROUPCHATS) )
+ if ( !facy.facepiles( ) )
+ break;
+ }
if ( i == 2 && getByte( FACEBOOK_KEY_EVENT_FEEDS_ENABLE, DEFAULT_EVENT_FEEDS_ENABLE ) )
if ( !facy.feeds( ) )
break;
|