comparison libpurple/protocols/yahoo/libymsg.c @ 27500:d4cfd179203b

yahoo: Don't do anything in yahoo_status_text when disconnecting. prpl->status_text is called via a signed-off signal callback in gtkconv.c, at which point gc != NULL, but gc->proto_data == NULL. That was triggering an assertion in yahoo_friend_find.
author Paul Aurich <paul@darkrain42.org>
date Wed, 08 Jul 2009 17:02:07 +0000
parents d46ab8c52cc4
children b00f138c850a
comparison
equal deleted inserted replaced
27499:d46ab8c52cc4 27500:d4cfd179203b
3684 { 3684 {
3685 YahooFriend *f = NULL; 3685 YahooFriend *f = NULL;
3686 const char *msg; 3686 const char *msg;
3687 char *msg2; 3687 char *msg2;
3688 PurpleAccount *account; 3688 PurpleAccount *account;
3689 PurpleConnection *gc;
3689 3690
3690 account = purple_buddy_get_account(b); 3691 account = purple_buddy_get_account(b);
3691 f = yahoo_friend_find(purple_account_get_connection(account), purple_buddy_get_name(b)); 3692 gc = purple_account_get_connection(account);
3693 if (!gc || !purple_connection_get_protocol_data(gc))
3694 return NULL;
3695
3696 f = yahoo_friend_find(gc, purple_buddy_get_name(b));
3692 if (!f) 3697 if (!f)
3693 return g_strdup(_("Not on server list")); 3698 return g_strdup(_("Not on server list"));
3694 3699
3695 switch (f->status) { 3700 switch (f->status) {
3696 case YAHOO_STATUS_AVAILABLE: 3701 case YAHOO_STATUS_AVAILABLE: