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$