Mercurial > pidgin.yaz
changeset 11624:45d54425dc65
[gaim-migrate @ 13899]
Fix the bug where new buddies were showing up as groups sometimes, silence
a few g_log warnings, and make it so that if you add and then remove a user
on MSN without signing off and on in between the user is actually removed
from the server list
committer: Tailor Script <tailor@pidgin.im>
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sat, 08 Oct 2005 16:08:51 +0000 |
parents | fd74e7b67682 |
children | 42d9a9203767 |
files | src/blist.c src/gtkblist.c src/protocols/msn/user.c src/protocols/msn/userlist.c src/status.c |
diffstat | 5 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/blist.c Sat Oct 08 14:33:52 2005 +0000 +++ b/src/blist.c Sat Oct 08 16:08:51 2005 +0000 @@ -1089,11 +1089,11 @@ buddy->name = g_strdup(screenname); buddy->alias = g_strdup(alias); buddy->presence = gaim_presence_new_for_buddy(buddy); + ((GaimBlistNode *)buddy)->type = GAIM_BLIST_BUDDY_NODE; gaim_presence_set_status_active(buddy->presence, "offline", TRUE); gaim_blist_node_initialize_settings((GaimBlistNode *)buddy); - ((GaimBlistNode *)buddy)->type = GAIM_BLIST_BUDDY_NODE; if (ops && ops->new_node) ops->new_node((GaimBlistNode *)buddy);
--- a/src/gtkblist.c Sat Oct 08 14:33:52 2005 +0000 +++ b/src/gtkblist.c Sat Oct 08 16:08:51 2005 +0000 @@ -4058,6 +4058,9 @@ buddy = (GaimBuddy*)node; contact = (GaimContact*)node->parent; + if (contact == NULL) + return; + /* First things first, update the contact */ gaim_gtk_blist_update_contact(list, node->parent);
--- a/src/protocols/msn/user.c Sat Oct 08 14:33:52 2005 +0000 +++ b/src/protocols/msn/user.c Sat Oct 08 16:08:51 2005 +0000 @@ -94,7 +94,8 @@ account = user->userlist->session->account; gc = gaim_account_get_connection(account); - gaim_prpl_got_user_status(account, user->passport, user->status, NULL); + if (user->status != NULL) + gaim_prpl_got_user_status(account, user->passport, user->status, NULL); if (user->idle) gaim_prpl_got_user_idle(account, user->passport, TRUE, -1);
--- a/src/protocols/msn/userlist.c Sat Oct 08 14:33:52 2005 +0000 +++ b/src/protocols/msn/userlist.c Sat Oct 08 16:08:51 2005 +0000 @@ -240,7 +240,6 @@ if (group_id >= 0) { msn_user_add_group_id(user, group_id); - return; } else {
--- a/src/status.c Sat Oct 08 14:33:52 2005 +0000 +++ b/src/status.c Sat Oct 08 16:08:51 2005 +0000 @@ -619,12 +619,12 @@ const char *buddy_alias = gaim_buddy_get_alias(buddy); char *tmp = NULL; - if (!gaim_status_is_available(old_status) && + if (((old_status == NULL) || !gaim_status_is_available(old_status)) && gaim_status_is_available(new_status)) { tmp = g_strdup_printf(_("%s came back"), buddy_alias); } - else if (gaim_status_is_available(old_status) && + else if ((old_status != NULL) && gaim_status_is_available(old_status) && !gaim_status_is_available(new_status)) { tmp = g_strdup_printf(_("%s went away"), buddy_alias);