Mercurial > pidgin
changeset 9845:7c459857f1c2
[gaim-migrate @ 10723]
(20:27:46) shx: LSchiere: maybe I should check the buddy icon bug
(20:27:56) shx: that should go in... right?
(20:28:12) LSchiere: the buddy icons not updating?
(20:28:15) LSchiere: yes that would be good to fix
(20:28:59) shx: it happends for all prpls right?
(20:29:15) LSchiere: i am unsure. i think i only have reports of it with
msn
(20:30:05) shx: maybe because msn users the ones that change it often :/
(20:30:18) LSchiere: shx: possibly
(21:25:27) shx: LSchiere: that one is good, and the problem was in
gtkconv.c so it affected every prpl
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Tue, 24 Aug 2004 01:26:54 +0000 |
parents | 6c421922e143 |
children | c28d5b45624e |
files | ChangeLog src/gtkconv.c |
diffstat | 2 files changed, 16 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Aug 24 00:08:38 2004 +0000 +++ b/ChangeLog Tue Aug 24 01:26:54 2004 +0000 @@ -31,6 +31,7 @@ * Better parsing of URLs containing special characters * All users are shown when joining a Yahoo! conference (Bleeter Yaluser) * You now leave all Yahoo! conferences when you log out of Yahoo! + * Buddy Icon updating bug fixed (Felipe Contreras) version 0.81 (08/05/2004): New Features:
--- a/src/gtkconv.c Tue Aug 24 00:08:38 2004 +0000 +++ b/src/gtkconv.c Tue Aug 24 01:26:54 2004 +0000 @@ -2460,6 +2460,7 @@ else stop_anim(NULL, conv); } + static void remove_icon(GaimGtkConversation *gtkconv) { @@ -5648,7 +5649,20 @@ if(account && account->gc) prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); - remove_icon(gtkconv); + /* Remove the current icon stuff */ + if (gtkconv->u.im->icon != NULL) + gtk_widget_destroy(gtkconv->u.im->icon->parent->parent->parent); + + if (gtkconv->u.im->anim != NULL) + g_object_unref(G_OBJECT(gtkconv->u.im->anim)); + + if (gtkconv->u.im->icon_timer != 0) + g_source_remove(gtkconv->u.im->icon_timer); + + gtkconv->u.im->icon_timer = 0; + + if (gtkconv->u.im->iter != NULL) + g_object_unref(G_OBJECT(gtkconv->u.im->iter)); if (!gaim_prefs_get_bool("/gaim/gtk/conversations/im/show_buddy_icons")) return; @@ -5656,9 +5670,6 @@ if (gaim_conversation_get_gc(conv) == NULL) return; - if (gtkconv->u.im->anim) - g_object_unref(G_OBJECT(gtkconv->u.im->anim)); - icon = gaim_conv_im_get_icon(GAIM_CONV_IM(conv)); @@ -5695,9 +5706,6 @@ if (!gtkconv->u.im->anim) return; - if(gtkconv->u.im->iter) - g_object_unref(G_OBJECT(gtkconv->u.im->iter)); - if (gdk_pixbuf_animation_is_static_image(gtkconv->u.im->anim)) { gtkconv->u.im->iter = NULL; buf = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim);