# HG changeset patch # User Paul Aurich # Date 1247072527 0 # Node ID d4cfd179203b03d8973a1da350540e562a6c3ccc # Parent d46ab8c52cc4980fee916b7494d143a306f7e8e1 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. diff -r d46ab8c52cc4 -r d4cfd179203b libpurple/protocols/yahoo/libymsg.c --- a/libpurple/protocols/yahoo/libymsg.c Wed Jul 08 16:51:14 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Wed Jul 08 17:02:07 2009 +0000 @@ -3686,9 +3686,14 @@ const char *msg; char *msg2; PurpleAccount *account; + PurpleConnection *gc; account = purple_buddy_get_account(b); - f = yahoo_friend_find(purple_account_get_connection(account), purple_buddy_get_name(b)); + gc = purple_account_get_connection(account); + if (!gc || !purple_connection_get_protocol_data(gc)) + return NULL; + + f = yahoo_friend_find(gc, purple_buddy_get_name(b)); if (!f) return g_strdup(_("Not on server list"));