# HG changeset patch # User Sadrul Habib Chowdhury # Date 1188431016 0 # Node ID 6575ec8e1a97dc1e3e67d8e57dcf33cc81a22a7a # Parent 7d9887c3ac81b3e36387a746c1be8e7d5b980668 Do not try to update a buddy in the buddylist when there's no buddylist. This fixes a crash EvilDennisR was getting. I was totally doubting him until he proved I was completely wrong. diff -r 7d9887c3ac81 -r 6575ec8e1a97 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Wed Aug 29 20:28:35 2007 +0000 +++ b/pidgin/gtkblist.c Wed Aug 29 23:43:36 2007 +0000 @@ -125,7 +125,7 @@ static PidginBuddyList *gtkblist = NULL; static gboolean pidgin_blist_refresh_timer(PurpleBuddyList *list); -static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean statusChange); +static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change); static void pidgin_blist_selection_changed(GtkTreeSelection *selection, gpointer data); static void pidgin_blist_update(PurpleBuddyList *list, PurpleBlistNode *node); static void pidgin_blist_update_group(PurpleBuddyList *list, PurpleBlistNode *node); @@ -614,6 +614,8 @@ static void pidgin_blist_update_privacy_cb(PurpleBuddy *buddy) { + if (buddy->node.ui_data == NULL || ((struct _pidgin_blist_node*)buddy->node.ui_data)->row == NULL) + return; pidgin_blist_update_buddy(purple_get_blist(), (PurpleBlistNode*)(buddy), TRUE); } @@ -5158,7 +5160,7 @@ -static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean statusChange) +static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change) { PurpleBuddy *buddy; struct _pidgin_blist_node *gtkparentnode;