Mercurial > pidgin.yaz
view PLUGIN_HOWTO @ 31652:258fec7797b9
Attempt to fix a crash I've seen a few times. I think it happens if you
have a conversation window open with a MySpace buddy, then your MySpace
account goes offline. We apparently call the prpl's status_text prpl
function to get the status text for the buddy, but the connection is
offline. I don't know if that's something we SHOULD do or not... but
other prpl's seem to handle this, at least.
1. Use buddy->account instead of buddy->account->gc->proto_data->account,
since the former should always exist and later doesn't exist if the
account is offline. This was leading to a null pointer dereference.
2. Pass FALSE to msim_get_user_from_buddy() so that it will stop creating
an MsimUser struct if one doesn't exist. Creating it didn't accomplish
anything, and I feel like it might never get freed if the account is
already offline.
3. Put the checks for user->headline and user->display_name in a big
if condition, so we won't try to grab that info if user is NULL
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Feb 2011 01:01:37 +0000 |
parents | db5a58aabe38 |
children |
line wrap: on
line source
For information on writing a plugin for Purple, Pidgin or Finch, go http://developer.pidgin.im and click on API. From there, see the HOWTOs in the "Related Pages" section. You can also generate this documentation locally by installing doxygen and graphviz dot, then running "make docs" in the source tree. The documentation will be in the docs/html directory.