Changeset bb839e8 for protocols/msn/sb.c
- Timestamp:
- 2010-04-10T01:05:39Z (14 years ago)
- Branches:
- master
- Children:
- efbc154
- Parents:
- 9bf2481
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/msn/sb.c
r9bf2481 rbb839e8 255 255 256 256 msn_msgq_purge( ic, &sb->msgq ); 257 msn_sb_stop_keepalives( sb ); 257 258 258 259 if( sb->key ) g_free( sb->key ); … … 476 477 477 478 sb->ready = 1; 479 480 msn_sb_start_keepalives( sb, FALSE ); 478 481 } 479 482 else if( strcmp( cmd[0], "CAL" ) == 0 ) … … 525 528 } 526 529 530 msn_sb_start_keepalives( sb, FALSE ); 531 527 532 return( st ); 528 533 } … … 586 591 if( sb->who ) 587 592 { 593 msn_sb_stop_keepalives( sb ); 594 588 595 /* This is a single-person chat, and the other person is leaving. */ 589 596 g_free( sb->who ); … … 770 777 } 771 778 772 gboolean msn_sb_keepalive( gpointer data, gint source, b_input_condition cond )779 static gboolean msn_sb_keepalive( gpointer data, gint source, b_input_condition cond ) 773 780 { 774 781 struct msn_switchboard *sb = data; 775 782 return sb->ready && msn_sb_sendmessage( sb, SB_KEEPALIVE_MESSAGE ); 776 783 } 784 785 void msn_sb_start_keepalives( struct msn_switchboard *sb, gboolean initial ) 786 { 787 struct buddy *b; 788 789 if( sb && sb->who && sb->keepalive == 0 && 790 ( b = imcb_find_buddy( sb->ic, sb->who ) ) && !b->present && 791 set_getbool( &sb->ic->acc->set, "switchboard_keepalives" ) ) 792 { 793 if( initial ) 794 msn_sb_keepalive( sb, 0, 0 ); 795 796 sb->keepalive = b_timeout_add( 20000, msn_sb_keepalive, sb ); 797 } 798 } 799 800 void msn_sb_stop_keepalives( struct msn_switchboard *sb ) 801 { 802 if( sb && sb->keepalive > 0 ) 803 { 804 b_event_remove( sb->keepalive ); 805 sb->keepalive = 0; 806 } 807 }
Note: See TracChangeset
for help on using the changeset viewer.