# HG changeset patch
# User Luke Schierer <lschiere@pidgin.im>
# Date 1052179883 0
# Node ID d2732160850b734bb9b84b24f9626701f2adfe09
# Parent  51903cf0c03951776363392234a9b56ac12af14b
[gaim-migrate @ 5677]
David Brigada (jsi) writes:
" This patch makes it so that Gaim doesn't emit the
signal for "buddy is not away" when a buddy logs off if
the buddy wasn't away in the first place. This was
causing unsightly clutter in conversation windows with
the buddy status notification plugin."

committer: Tailor Script <tailor@pidgin.im>

diff -r 51903cf0c039 -r d2732160850b src/blist.c
--- a/src/blist.c	Tue May 06 00:10:12 2003 +0000
+++ b/src/blist.c	Tue May 06 00:11:23 2003 +0000
@@ -140,13 +140,15 @@
 		return;
 
 	ops = gaimbuddylist->ui_ops;
-	buddy->uc = status;
 
-	if(!(status & UC_UNAVAILABLE))
-		gaim_event_broadcast(event_buddy_back, buddy->account->gc, buddy->name);
-	else
-		gaim_event_broadcast(event_buddy_away, buddy->account->gc, buddy->name);
+	if((status & UC_UNAVAILABLE) != (buddy->uc & UC_UNAVAILABLE)) {
+		if(status & UC_UNAVAILABLE)
+			gaim_event_broadcast(event_buddy_away, buddy->account->gc, buddy->name);
+		else
+			gaim_event_broadcast(event_buddy_back, buddy->account->gc, buddy->name);
+	}
 
+	buddy->uc = status;
 	if (ops)
 		ops->update(gaimbuddylist, (GaimBlistNode*)buddy);
 }