changeset 4829:e7e45cee4265

[gaim-migrate @ 5154] This does 3 things: 1) Removes the "Get Capabilities" option which I re-added a few hours ago. We decided that it's pointless, since caps are in the tooltips. It also needlessly complicates things. 2) Adds an "unable to add this buddy because you are over the limit" message that is currently commented out. We have some sort of a message like this right now, but it's less good. If you really want to know why, ask me. 3) Adds a workaround for the bug where some users tooltips do not show capabilities sometimes. This is really an AIM bug, honest. Gaim is getting status updates for people that don't contain their capabilities. I guess it's probably intentional. I imagine it saves a bit o' bandwidth, since each capability is 16 bytes. [Insert humorous phrase or catch song lyric here] committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 19 Mar 2003 02:52:42 +0000
parents 71232144e2ff
children 46fb754a3c10
files src/protocols/oscar/oscar.c
diffstat 1 files changed, 9 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c	Tue Mar 18 23:31:41 2003 +0000
+++ b/src/protocols/oscar/oscar.c	Wed Mar 19 02:52:42 2003 +0000
@@ -1749,7 +1749,8 @@
 		g_hash_table_insert(od->buddyinfo, g_strdup(normalize(info->sn)), bi);
 	}
 	bi->signon = info->onlinesince ? info->onlinesince : (info->sessionlen + time(NULL));
-	bi->caps = caps;
+	if (caps)
+		bi->caps = caps;
 	bi->typingnot = FALSE;
 	bi->ico_informed = FALSE;
 
@@ -4224,11 +4225,6 @@
 		aim_getinfo(od->sess, od->conn, who, AIM_GETINFO_GENERALINFO);
 }
 
-static void oscar_get_caps(struct gaim_connection *g, char *name) {
-	struct oscar_data *od = (struct oscar_data *)g->proto_data;
-	aim_getinfo(od->sess, od->conn, name, AIM_GETINFO_CAPABILITIES);
-}
-
 static void oscar_set_dir(struct gaim_connection *g, const char *first, const char *middle, const char *last,
 			  const char *maiden, const char *city, const char *state, const char *country, int web) {
 	/* XXX - some of these things are wrong, but i'm lazy */
@@ -4791,6 +4787,13 @@
 			case 0x0000: { /* added successfully */
 			} break;
 
+			case 0x000c: { /* you are over the limit, the cheat is to the limit, come on fhqwhgads */
+				gchar *buf;
+				buf = g_strdup_printf(_("Could not add the buddy %s because you have too many buddies in your buddy list.  Please remove one and try again."), (retval->name ? retval->name : _("(no name)")));
+				/* do_error_dialog(_("Unable To Add"), buf, GAIM_ERROR); */
+				g_free(buf);
+			}
+
 			case 0x000e: { /* contact requires authorization */
 				if ((retval->action == AIM_CB_SSI_ADD) && (retval->name))
 					gaim_auth_sendrequest(gc, retval->name);
@@ -5513,12 +5516,6 @@
 		}
 	}
 
-	pbm = g_new0(struct proto_buddy_menu, 1);
-	pbm->label = _("Get Capabilities");
-	pbm->callback = oscar_get_caps;
-	pbm->gc = gc;
-	m = g_list_append(m, pbm);
-
 	return m;
 }