changeset 4830:46fb754a3c10

[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 <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 19 Mar 2003 04:59:12 +0000
parents e7e45cee4265
children cd60c41e6e4a
files src/list.c src/protocols/oscar/conn.c src/protocols/oscar/icq.c src/protocols/oscar/oscar.c
diffstat 4 files changed, 20 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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);
 }
 
--- 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;
--- 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;
 }
--- 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;