Mercurial > pidgin.yaz
comparison src/gtkconv.c @ 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 | 54e0322c81fb |
children | c28d5b45624e |
comparison
equal
deleted
inserted
replaced
9844:6c421922e143 | 9845:7c459857f1c2 |
---|---|
2458 if (gtkconv->u.im->animate) | 2458 if (gtkconv->u.im->animate) |
2459 start_anim(NULL, conv); | 2459 start_anim(NULL, conv); |
2460 else | 2460 else |
2461 stop_anim(NULL, conv); | 2461 stop_anim(NULL, conv); |
2462 } | 2462 } |
2463 | |
2463 static void | 2464 static void |
2464 remove_icon(GaimGtkConversation *gtkconv) | 2465 remove_icon(GaimGtkConversation *gtkconv) |
2465 { | 2466 { |
2466 g_return_if_fail(gtkconv != NULL); | 2467 g_return_if_fail(gtkconv != NULL); |
2467 | 2468 |
5646 | 5647 |
5647 account = gaim_conversation_get_account(conv); | 5648 account = gaim_conversation_get_account(conv); |
5648 if(account && account->gc) | 5649 if(account && account->gc) |
5649 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); | 5650 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); |
5650 | 5651 |
5651 remove_icon(gtkconv); | 5652 /* Remove the current icon stuff */ |
5653 if (gtkconv->u.im->icon != NULL) | |
5654 gtk_widget_destroy(gtkconv->u.im->icon->parent->parent->parent); | |
5655 | |
5656 if (gtkconv->u.im->anim != NULL) | |
5657 g_object_unref(G_OBJECT(gtkconv->u.im->anim)); | |
5658 | |
5659 if (gtkconv->u.im->icon_timer != 0) | |
5660 g_source_remove(gtkconv->u.im->icon_timer); | |
5661 | |
5662 gtkconv->u.im->icon_timer = 0; | |
5663 | |
5664 if (gtkconv->u.im->iter != NULL) | |
5665 g_object_unref(G_OBJECT(gtkconv->u.im->iter)); | |
5652 | 5666 |
5653 if (!gaim_prefs_get_bool("/gaim/gtk/conversations/im/show_buddy_icons")) | 5667 if (!gaim_prefs_get_bool("/gaim/gtk/conversations/im/show_buddy_icons")) |
5654 return; | 5668 return; |
5655 | 5669 |
5656 if (gaim_conversation_get_gc(conv) == NULL) | 5670 if (gaim_conversation_get_gc(conv) == NULL) |
5657 return; | 5671 return; |
5658 | |
5659 if (gtkconv->u.im->anim) | |
5660 g_object_unref(G_OBJECT(gtkconv->u.im->anim)); | |
5661 | 5672 |
5662 | 5673 |
5663 | 5674 |
5664 icon = gaim_conv_im_get_icon(GAIM_CONV_IM(conv)); | 5675 icon = gaim_conv_im_get_icon(GAIM_CONV_IM(conv)); |
5665 | 5676 |
5692 g_error_free(err); | 5703 g_error_free(err); |
5693 } | 5704 } |
5694 | 5705 |
5695 if (!gtkconv->u.im->anim) | 5706 if (!gtkconv->u.im->anim) |
5696 return; | 5707 return; |
5697 | |
5698 if(gtkconv->u.im->iter) | |
5699 g_object_unref(G_OBJECT(gtkconv->u.im->iter)); | |
5700 | 5708 |
5701 if (gdk_pixbuf_animation_is_static_image(gtkconv->u.im->anim)) { | 5709 if (gdk_pixbuf_animation_is_static_image(gtkconv->u.im->anim)) { |
5702 gtkconv->u.im->iter = NULL; | 5710 gtkconv->u.im->iter = NULL; |
5703 buf = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim); | 5711 buf = gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim); |
5704 } else { | 5712 } else { |