comparison src/server.c @ 5170:13ffa9ae4282

[gaim-migrate @ 5534] This makes the buddy ticker plugin work again, and may cause some slight breakage in some plugins, since it slightly changes the behavior of: event_buddy_signon event_buddy_signoff event_buddy_away event_buddy_back Then again, it's nothing compared to the massive breakage being thought up for the very near future ;-) committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Fri, 18 Apr 2003 21:49:45 +0000
parents 381da05cb5ed
children fefad67de2c7
comparison
equal deleted inserted replaced
5169:71927464a1db 5170:13ffa9ae4282
880 gaim_blist_update_buddy_idle(b, idle); 880 gaim_blist_update_buddy_idle(b, idle);
881 gaim_blist_update_buddy_evil(b, evil); 881 gaim_blist_update_buddy_evil(b, evil);
882 882
883 if ((b->uc & UC_UNAVAILABLE) && !(type & UC_UNAVAILABLE)) { 883 if ((b->uc & UC_UNAVAILABLE) && !(type & UC_UNAVAILABLE)) {
884 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_AWAY_RETURN); 884 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_AWAY_RETURN);
885 plugin_event(event_buddy_back, gc, b->name);
886 system_log(log_back, gc, b, OPT_LOG_BUDDY_AWAY); 885 system_log(log_back, gc, b, OPT_LOG_BUDDY_AWAY);
887 } else if (!(b->uc & UC_UNAVAILABLE) && (type & UC_UNAVAILABLE)) { 886 } else if (!(b->uc & UC_UNAVAILABLE) && (type & UC_UNAVAILABLE)) {
888 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_AWAY); 887 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_AWAY);
889 plugin_event(event_buddy_away, gc, b->name);
890 system_log(log_away, gc, b, OPT_LOG_BUDDY_AWAY); 888 system_log(log_away, gc, b, OPT_LOG_BUDDY_AWAY);
891 } 889 }
892 890
893 gaim_blist_update_buddy_status(b, type); 891 gaim_blist_update_buddy_status(b, type);
894 892
895 893
896 if (loggedin) { 894 if (loggedin) {
897 if (!GAIM_BUDDY_IS_ONLINE(b)) { 895 if (!GAIM_BUDDY_IS_ONLINE(b)) {
898 struct gaim_conversation *c = gaim_find_conversation(b->name); 896 struct gaim_conversation *c = gaim_find_conversation(b->name);
899 if (c && (im_options & OPT_IM_LOGON)) { 897 if (c && (im_options & OPT_IM_LOGON)) {
912 qm->len = -1; 910 qm->len = -1;
913 message_queue = g_slist_append(message_queue, qm); 911 message_queue = g_slist_append(message_queue, qm);
914 } 912 }
915 gaim_sound_play_event(GAIM_SOUND_BUDDY_ARRIVE); 913 gaim_sound_play_event(GAIM_SOUND_BUDDY_ARRIVE);
916 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_SIGNON); 914 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_SIGNON);
917 plugin_event(event_buddy_signon, gc, b->name);
918 system_log(log_signon, gc, b, OPT_LOG_BUDDY_SIGNON); 915 system_log(log_signon, gc, b, OPT_LOG_BUDDY_SIGNON);
919 } 916 }
920 } else { 917 } else {
921 if (GAIM_BUDDY_IS_ONLINE(b)) { 918 if (GAIM_BUDDY_IS_ONLINE(b)) {
922 struct gaim_conversation *c = gaim_find_conversation(b->name); 919 struct gaim_conversation *c = gaim_find_conversation(b->name);
936 qm->len = -1; 933 qm->len = -1;
937 message_queue = g_slist_append(message_queue, qm); 934 message_queue = g_slist_append(message_queue, qm);
938 } 935 }
939 gaim_sound_play_event(GAIM_SOUND_BUDDY_LEAVE); 936 gaim_sound_play_event(GAIM_SOUND_BUDDY_LEAVE);
940 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_SIGNOFF); 937 gaim_pounce_execute(gc->account, b->name, GAIM_POUNCE_SIGNOFF);
941 plugin_event(event_buddy_signoff, gc, b->name);
942 system_log(log_signoff, gc, b, OPT_LOG_BUDDY_SIGNON); 938 system_log(log_signoff, gc, b, OPT_LOG_BUDDY_SIGNON);
943 } 939 }
944 } 940 }
945 941
946 gaim_blist_update_buddy_presence(b, loggedin); 942 gaim_blist_update_buddy_presence(b, loggedin);