# HG changeset patch # User Sean Egan # Date 1015392418 0 # Node ID 47d0f8979fb1baf4dd95d0866a9703aecb71e0e1 # Parent 08327a2f25aa68e0e7e7469a374960d024f29c41 [gaim-migrate @ 3026] ICQ buddies coming back from away will no longer appear to be unavailable. committer: Tailor Script diff -r 08327a2f25aa -r 47d0f8979fb1 ChangeLog --- 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) diff -r 08327a2f25aa -r 47d0f8979fb1 src/conversation.c --- 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) diff -r 08327a2f25aa -r 47d0f8979fb1 src/prefs.c --- 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(); } diff -r 08327a2f25aa -r 47d0f8979fb1 src/protocols/msn/msn.c --- 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); diff -r 08327a2f25aa -r 47d0f8979fb1 src/protocols/oscar/oscar.c --- 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); } }