| 548 |
548 |
| 549 static void irc_buddy_status(char *name, struct irc_buddy *ib, struct irc_conn *irc) |
549 static void irc_buddy_status(char *name, struct irc_buddy *ib, struct irc_conn *irc) |
| 550 { |
550 { |
| 551 GaimConnection *gc = gaim_account_get_connection(irc->account); |
551 GaimConnection *gc = gaim_account_get_connection(irc->account); |
| 552 GaimBuddy *buddy = gaim_find_buddy(irc->account, name); |
552 GaimBuddy *buddy = gaim_find_buddy(irc->account, name); |
| |
553 GaimPresence *presence; |
| 553 |
554 |
| 554 if (!gc || !buddy) |
555 if (!gc || !buddy) |
| 555 return; |
556 return; |
| 556 |
557 |
| |
558 presence = gaim_buddy_get_presence(buddy); |
| |
559 |
| 557 if (ib->online && !ib->flag) { |
560 if (ib->online && !ib->flag) { |
| 558 serv_got_update(gc, buddy->name, FALSE, 0, 0, 0, 0); |
561 gaim_presence_switch_status(presence, "online"); |
| 559 ib->online = FALSE; |
562 ib->online = FALSE; |
| 560 } |
563 } |
| 561 |
564 |
| 562 if (!ib->online && ib->flag) { |
565 if (!ib->online && ib->flag) { |
| 563 serv_got_update(gc, buddy->name, TRUE, 0, 0, 0, 0); |
566 gaim_presence_switch_status(presence, "offline"); |
| 564 ib->online = TRUE; |
567 ib->online = TRUE; |
| 565 } |
568 } |
| 566 } |
569 } |
| 567 |
570 |
| 568 void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char **args) |
571 void irc_msg_join(struct irc_conn *irc, const char *name, const char *from, char **args) |