Mercurial > pidgin.yaz
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: |