diff src/prpl.c @ 10052:eaec201b2688

[gaim-migrate @ 11013] More rockin status stuff from Dave West! Things are beginning to shape up quite well. Dave, again, sorry it took me a week to get to this. Girl waits for no man. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 19 Sep 2004 21:19:55 +0000
parents dcdda2857ca8
children 6feef0a9098a
line wrap: on
line diff
--- a/src/prpl.c	Sun Sep 19 21:14:28 2004 +0000
+++ b/src/prpl.c	Sun Sep 19 21:19:55 2004 +0000
@@ -270,13 +270,15 @@
 	GaimBuddy *buddy;
 	GaimPresence *presence;
 	GaimStatus *status;
+	GaimStatus *old_status;
 
 	g_return_if_fail(account   != NULL);
 	g_return_if_fail(name      != NULL);
 	g_return_if_fail(status_id != NULL);
 	g_return_if_fail(gaim_account_is_connected(account));
 
-	if ((buddy = gaim_find_buddy(account, name)) == NULL)
+	buddy = gaim_find_buddy(account, name);
+	if (buddy == NULL)
 		return;
 
 	presence = gaim_buddy_get_presence(buddy);
@@ -300,10 +302,9 @@
 		va_end(args);
 	}
 
+	old_status = gaim_presence_get_active_status(presence);
 	gaim_presence_set_status_active(presence, status_id, TRUE);
-
-	gaim_blist_update_buddy_presence(buddy, GAIM_BUDDY_IS_ONLINE(buddy));
-	gaim_contact_compute_priority_buddy(gaim_buddy_get_contact(buddy));
+	gaim_blist_update_buddy_status(buddy, old_status);
 }
 
 void