Mercurial > pidgin.yaz
view .mtn-ignore @ 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 | 88a4a5a0fafa |
children | 1deda5d6733b |
line wrap: on
line source
(.*/)?\.svn .*/?Makefile(\.in)?$ .*/?Makefile\.am\.mingw$ (.*/)?TAGS$ .*/?.*\.pc$ .*/perl/common/[^/]+\.c$ .*/perl/common/blib.* .*/perl/common/pm_to_blib$ .*\.bs$ .*\.def$ .*\.dll$ .*\.exe$ .*\.loT$ intltool-.* Doxyfile(\.mingw)?$ aclocal.m4 autogen.args compile config.cache config.guess config.h$ config.h.in config.log config.status config.sub configure$ finch/finch$ finch/libgnt/gntmarshal.c finch/libgnt/gntmarshal.h depcomp doc/finch.1$ doc/pidgin.1$ doc/html package_revision.h package_revision_raw.txt pidgin.apspec$ pidgin.desktop$ pidgin.spec$ pidgin-.*.tar.gz pidgin-.*.tar.bz2 pidgin-*.*.*-dbgsym$ pidgin-*.*.*-dbgsym.zip$ pidgin-*.*.*-win32bin$ pidgin-*.*.*-win32-bin.zip$ pidgin/pidgin$ pidgin/pixmaps/emotes/default/24/theme pidgin/pixmaps/emotes/none/theme pidgin/pixmaps/emotes/small/16/theme pidgin/plugins/musicmessaging/music-messaging-bindings.c pidgin/plugins/perl/common/Makefile.PL$ pidgin/plugins/perl/common/Makefile.old pidgin/win32/pidgin_dll_rc.rc$ pidgin/win32/pidgin_exe_rc.rc$ pidgin/win32/nsis/gtk-runtime-*.*.*.*.zip pidgin/win32/nsis/gtk_runtime_stage$ pidgin/win32/nsis/pidgin-translations.nsh$ pidgin/win32/nsis/langmacros.nsh pidgin/win32/nsis/nsis_translations.desktop pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh pidgin/win32/nsis/pidgin-spellcheck.nsh pidgin/win32/nsis/translations install-sh libpurple/dbus-bindings.c libpurple/dbus-signals.c libpurple/dbus-types.c libpurple/dbus-types.h libpurple/example/nullclient libpurple/gconf/purple.schemas$ libpurple/marshallers.[ch] libpurple/plugins/dbus-example-bindings.c libpurple/plugins/perl/common/Makefile.PL$ libpurple/plugins/perl/common/Makefile.old libpurple/plugins/perl/common/const-c.inc libpurple/plugins/perl/common/const-xs.inc libpurple/plugins/perl/common/lib libpurple/purple.h$ libpurple/purple-client-bindings.c libpurple/purple-client-bindings.h libpurple/purple-client-example libpurple/tests/check_libpurple libpurple/tests/libpurple.. libpurple/version.h$ libpurple/win32/libpurplerc.rc$ libtool local.mak ltmain.sh missing mkinstalldirs po/Makefile.in.in po/POTFILES$ po/missing po/notexist po/pidgin.pot po/stamp-it stamp-h1 win32-install-dir(\.release)? VERSION$