pidgin: 292ad961: yahoo: Don't do anything in yahoo_status...
darkrain42 at pidgin.im
darkrain42 at pidgin.im
Wed Jul 8 13:05:36 EDT 2009
-----------------------------------------------------------------
Revision: 292ad961a7d320b8c8e875a3ce990e68dd3d1f49
Ancestor: 561a0cd5c9ec8e05c85303e72e406b03240527ed
Author: darkrain42 at pidgin.im
Date: 2009-07-08T17:02:07
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/292ad961a7d320b8c8e875a3ce990e68dd3d1f49
Modified files:
libpurple/protocols/yahoo/libymsg.c
ChangeLog:
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.
-------------- next part --------------
============================================================
--- libpurple/protocols/yahoo/libymsg.c 9182115b07953da067feec10752961a03e67012a
+++ libpurple/protocols/yahoo/libymsg.c 31690267f43b0e6ad907781dd92379bf2f6eca70
@@ -3686,9 +3686,14 @@ char *yahoo_status_text(PurpleBuddy *b)
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"));
More information about the Commits
mailing list