# HG changeset patch # User Mark Doliner # Date 1048049952 0 # Node ID 46fb754a3c10ac002e71cf5b954f2ad414358e96 # Parent e7e45cee426576ceeed4086b618b9b9897788a1c [gaim-migrate @ 5155] Luke's back, so I have to be verbose :-) The change to list.c fixes a crashe Luke was happening that is really probably my fault, but I don't see how it's even possible, and I think this is the old behavior of find_group_by_buddy or whatever it was. Also a very minor memleak fix for when you sign off an ICQ account after you've requested someone's ICQ info but before you've received it. committer: Tailor Script diff -r e7e45cee4265 -r 46fb754a3c10 src/list.c --- a/src/list.c Wed Mar 19 02:52:42 2003 +0000 +++ b/src/list.c Wed Mar 19 04:59:12 2003 +0000 @@ -404,6 +404,8 @@ } struct group *gaim_find_buddys_group(struct buddy *buddy) { + if (!buddy) + return NULL; return (struct group*)(((GaimBlistNode*)buddy)->parent); } diff -r e7e45cee4265 -r 46fb754a3c10 src/protocols/oscar/conn.c --- a/src/protocols/oscar/conn.c Wed Mar 19 02:52:42 2003 +0000 +++ b/src/protocols/oscar/conn.c Wed Mar 19 04:59:12 2003 +0000 @@ -867,6 +867,7 @@ aim_initsnachash(sess); sess->msgcookies = NULL; sess->icq_info = NULL; + sess->oft_info = NULL; sess->snacid_next = 0x00000001; sess->flags = 0; diff -r e7e45cee4265 -r 46fb754a3c10 src/protocols/oscar/icq.c --- a/src/protocols/oscar/icq.c Wed Mar 19 02:52:42 2003 +0000 +++ b/src/protocols/oscar/icq.c Wed Mar 19 04:59:12 2003 +0000 @@ -551,6 +551,19 @@ return 0; } +static void icq_shutdown(aim_session_t *sess, aim_module_t *mod) +{ + struct aim_icq_info *del; + + while (sess->icq_info) { + del = sess->icq_info; + sess->icq_info = sess->icq_info->next; + aim_icq_freeinfo(del); + } + + return; +} + faim_internal int icq_modfirst(aim_session_t *sess, aim_module_t *mod) { @@ -561,6 +574,7 @@ mod->flags = 0; strncpy(mod->name, "icq", sizeof(mod->name)); mod->snachandler = snachandler; + mod->shutdown = icq_shutdown; return 0; } diff -r e7e45cee4265 -r 46fb754a3c10 src/protocols/oscar/oscar.c --- a/src/protocols/oscar/oscar.c Wed Mar 19 02:52:42 2003 +0000 +++ b/src/protocols/oscar/oscar.c Wed Mar 19 04:59:12 2003 +0000 @@ -2349,9 +2349,9 @@ if (buddy && (gaim_get_buddy_alias_only(buddy))) nombre = g_strdup_printf("%s (%s)", name, gaim_get_buddy_alias_only(buddy)); else - nombre = g_strdup(name); - - dialog_msg = g_strdup_printf(_("The user %s requires authorization before being added to a buddy list. Do you want to send an authorization request?"), nombre); + nombre = NULL; + + dialog_msg = g_strdup_printf(_("The user %s requires authorization before being added to a buddy list. Do you want to send an authorization request?"), (nombre ? nombre : name)); data->gc = gc; data->name = g_strdup(name); data->nick = NULL;