Mercurial > pidgin.yaz
comparison pidgin/gtkblist.c @ 19538:6575ec8e1a97
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.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 29 Aug 2007 23:43:36 +0000 |
parents | 4da3c8618c24 |
children | 712a448722b6 |
comparison
equal
deleted
inserted
replaced
19535:7d9887c3ac81 | 19538:6575ec8e1a97 |
---|---|
123 static void sort_method_log(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); | 123 static void sort_method_log(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); |
124 #endif | 124 #endif |
125 static PidginBuddyList *gtkblist = NULL; | 125 static PidginBuddyList *gtkblist = NULL; |
126 | 126 |
127 static gboolean pidgin_blist_refresh_timer(PurpleBuddyList *list); | 127 static gboolean pidgin_blist_refresh_timer(PurpleBuddyList *list); |
128 static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean statusChange); | 128 static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change); |
129 static void pidgin_blist_selection_changed(GtkTreeSelection *selection, gpointer data); | 129 static void pidgin_blist_selection_changed(GtkTreeSelection *selection, gpointer data); |
130 static void pidgin_blist_update(PurpleBuddyList *list, PurpleBlistNode *node); | 130 static void pidgin_blist_update(PurpleBuddyList *list, PurpleBlistNode *node); |
131 static void pidgin_blist_update_group(PurpleBuddyList *list, PurpleBlistNode *node); | 131 static void pidgin_blist_update_group(PurpleBuddyList *list, PurpleBlistNode *node); |
132 static void pidgin_blist_update_contact(PurpleBuddyList *list, PurpleBlistNode *node); | 132 static void pidgin_blist_update_contact(PurpleBuddyList *list, PurpleBlistNode *node); |
133 static char *pidgin_get_tooltip_text(PurpleBlistNode *node, gboolean full); | 133 static char *pidgin_get_tooltip_text(PurpleBlistNode *node, gboolean full); |
612 } | 612 } |
613 | 613 |
614 static void | 614 static void |
615 pidgin_blist_update_privacy_cb(PurpleBuddy *buddy) | 615 pidgin_blist_update_privacy_cb(PurpleBuddy *buddy) |
616 { | 616 { |
617 if (buddy->node.ui_data == NULL || ((struct _pidgin_blist_node*)buddy->node.ui_data)->row == NULL) | |
618 return; | |
617 pidgin_blist_update_buddy(purple_get_blist(), (PurpleBlistNode*)(buddy), TRUE); | 619 pidgin_blist_update_buddy(purple_get_blist(), (PurpleBlistNode*)(buddy), TRUE); |
618 } | 620 } |
619 | 621 |
620 static void | 622 static void |
621 rebuild_joinchat_entries(PidginJoinChatData *data) | 623 rebuild_joinchat_entries(PidginJoinChatData *data) |
5156 } | 5158 } |
5157 } | 5159 } |
5158 | 5160 |
5159 | 5161 |
5160 | 5162 |
5161 static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean statusChange) | 5163 static void pidgin_blist_update_buddy(PurpleBuddyList *list, PurpleBlistNode *node, gboolean status_change) |
5162 { | 5164 { |
5163 PurpleBuddy *buddy; | 5165 PurpleBuddy *buddy; |
5164 struct _pidgin_blist_node *gtkparentnode; | 5166 struct _pidgin_blist_node *gtkparentnode; |
5165 | 5167 |
5166 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); | 5168 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |