# HG changeset patch # User Sadrul Habib Chowdhury # Date 1188851507 0 # Node ID f3c83871a4426714cf76aec753e59b6dfb34a89e # Parent 10999957012aff4bf1d40125babb14145dbb01dd Do not crash for hidden convs after changing prefs. diff -r 10999957012a -r f3c83871a442 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Mon Sep 03 19:52:26 2007 +0000 +++ b/pidgin/gtkconv.c Mon Sep 03 20:31:47 2007 +0000 @@ -3035,8 +3035,12 @@ node = (PurpleBlistNode *)buddy; /* Now add the stuff */ - if (all && buddy) { - pidgin_blist_make_buddy_menu(menu, buddy, TRUE); + if (all) { + if (buddy) + pidgin_blist_make_buddy_menu(menu, buddy, TRUE); + else if (chat) { + /* XXX: */ + } } else if (node) { if (purple_account_is_connected(conv->account)) pidgin_append_blist_node_proto_menu(menu, conv->account->gc, node); @@ -7017,7 +7021,8 @@ for (l = purple_get_ims(); l != NULL; l = l->next) { conv = (PurpleConversation *)l->data; gtkconv = PIDGIN_CONVERSATION(conv); - gtkconv->u.im->animate = GPOINTER_TO_INT(value); + if (gtkconv) + gtkconv->u.im->animate = GPOINTER_TO_INT(value); } /* Now either stop or start animation for the active conversation in each window */ @@ -7036,6 +7041,8 @@ for (l = purple_get_conversations(); l != NULL; l = l->next) { PurpleConversation *conv = l->data; + if (!PIDGIN_CONVERSATION(conv)) + continue; if (GPOINTER_TO_INT(value)) gtk_widget_show(PIDGIN_CONVERSATION(conv)->infopane_hbox); else @@ -7054,7 +7061,8 @@ GList *l; for (l = purple_get_conversations(); l != NULL; l = l->next) { PurpleConversation *conv = l->data; - update_tab_icon(conv); + if (PIDGIN_CONVERSATION(conv)) + update_tab_icon(conv); } }