changeset 3013:47d0f8979fb1

[gaim-migrate @ 3026] ICQ buddies coming back from away will no longer appear to be unavailable. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 06 Mar 2002 05:26:58 +0000
parents 08327a2f25aa
children 18b567716d6f
files ChangeLog src/conversation.c src/prefs.c src/protocols/msn/msn.c src/protocols/oscar/oscar.c
diffstat 5 files changed, 28 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Mar 06 00:18:02 2002 +0000
+++ b/ChangeLog	Wed Mar 06 05:26:58 2002 +0000
@@ -8,6 +8,7 @@
 	  were offline (Thanks Jason Willis)
 	* Option to globally disable Buddy Icon animation (Thanks
 	  Luke Schierer)
+	* Numerous bugfixes
 	
 version 0.53 (02/28/2002):
 	* Updated Polish Translation (thanks Przemyslaw Sulek)
--- a/src/conversation.c	Wed Mar 06 00:18:02 2002 +0000
+++ b/src/conversation.c	Wed Mar 06 05:26:58 2002 +0000
@@ -3288,7 +3288,7 @@
 	gtk_container_add(GTK_CONTAINER(event), c->icon);
 	gtk_widget_show(c->icon);
 	if(im_options & OPT_IM_NO_ANIMATION)
-		stop_anim(c->icon, c);		
+		stop_anim(NULL, c);		
 	gdk_pixmap_unref(pm);
 	if (bm)
 		gdk_bitmap_unref(bm);
@@ -3311,6 +3311,18 @@
 	}
 }
 
+void set_anim()
+{
+	GList *c = conversations;
+	while (c) {
+		if(im_options & OPT_IM_NO_ANIMATION)
+			stop_anim(NULL, c->data);
+		else 
+			start_anim(NULL, c->data);
+		c = c->next;
+	}
+}
+
 static void remove_checkbox(struct conversation *c)
 {
 	if (c->check)
--- a/src/prefs.c	Wed Mar 06 00:18:02 2002 +0000
+++ b/src/prefs.c	Wed Mar 06 05:26:58 2002 +0000
@@ -1009,12 +1009,13 @@
 	gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
 	gtk_widget_show(vbox);
 
-	hbox = gtk_hbox_new(FALSE, 5);	
-	gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 5);
-	gtk_widget_show(hbox);
-	gaim_button(_("Hide Buddy Icons"), &im_options, OPT_IM_HIDE_ICONS, hbox);
+	gaim_button(_("Hide Buddy Icons"), &im_options, OPT_IM_HIDE_ICONS, vbox);
+
+	vbox = gtk_vbox_new(FALSE, 5);
+	gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
+	gtk_widget_show(vbox);
 	
-	gaim_button(_("Disable Buddy Icon Animation"), &im_options, OPT_IM_NO_ANIMATION, hbox);
+	gaim_button(_("Disable Buddy Icon Animation"), &im_options, OPT_IM_NO_ANIMATION, vbox);
 #endif
 
 	gtk_widget_show(prefdialog);
@@ -2725,6 +2726,9 @@
 	if (option == OPT_IM_ALIAS_TAB)
 		set_convo_titles();
 
+	if (option == OPT_IM_NO_ANIMATION)
+		set_anim();
+
 	save_prefs();
 }
 
--- a/src/protocols/msn/msn.c	Wed Mar 06 00:18:02 2002 +0000
+++ b/src/protocols/msn/msn.c	Wed Mar 06 05:26:58 2002 +0000
@@ -884,7 +884,7 @@
 			}
 
 			if(new) {
-				debug_printf("Unresolved MSN RL entry");
+				debug_printf("Unresolved MSN RL entry\n");
 				ap = g_new0(struct msn_add_permit, 1);
 				ap->user = g_strdup(who);
 				ap->friend = g_strdup(friend);
--- a/src/protocols/oscar/oscar.c	Wed Mar 06 00:18:02 2002 +0000
+++ b/src/protocols/oscar/oscar.c	Wed Mar 06 05:26:58 2002 +0000
@@ -1156,11 +1156,12 @@
 		if (info->flags & AIM_FLAG_AWAY)
 			type |= UC_UNAVAILABLE;
 	}
-
 	if (info->present & AIM_USERINFO_PRESENT_ICQEXTSTATUS) {
 		type = (info->icqinfo.status << 6);
-		if (!(info->icqinfo.status & AIM_ICQ_STATE_CHAT))
+		if (!(info->icqinfo.status & AIM_ICQ_STATE_CHAT) &&
+		      (info->icqinfo.status != AIM_ICQ_STATE_NORMAL)) {
 			type |= UC_UNAVAILABLE;
+		}
 	}
 
 	if (caps & AIM_CAPS_ICQ)
@@ -2618,6 +2619,7 @@
 			aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT);
 			gc->away = "";
 		} else {
+		  
 			aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
 		}
 	}