diff src/protocols/oscar/oscar.c @ 4901:ad589b887af9

[gaim-migrate @ 5235] Aside from shifting lots of stuff around in aim.h, mostly just to annoy people because everything in the oscar directory will recompile, I took out a few calls to aimutil_getbleh and aimutil_putbleh in favor of other methods. These functions should be used aaas little as possible because, um, well mid said so in his comments, I think. The only real change is a fix for bug 710933, which says that "Web Aware" is not set at signon, it is only set when you explicitly set your status to anything. Also, the I think the interoperability flag changes how privacy/invisibility in ICQ works, and I'm not really sure if it's good or not. I think it's more like AIM, but I'm too tired to figure out what that means. http://sourceforge.net/tracker/index.php?func=detail&aid=710993&group_id=235&atid=100235 committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 28 Mar 2003 06:37:21 +0000
parents bd37db7531e4
children d9b6b5ae34e4
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c	Thu Mar 27 22:29:45 2003 +0000
+++ b/src/protocols/oscar/oscar.c	Fri Mar 28 06:37:21 2003 +0000
@@ -4389,31 +4389,31 @@
 	}
 
 	if (!strcmp(state, _("Online")))
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL);
 	else if (!strcmp(state, _("Away"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_AWAY);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_AWAY);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, _("Do Not Disturb"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_DND | AIM_ICQ_STATE_BUSY);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_DND | AIM_ICQ_STATE_BUSY);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, _("Not Available"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, _("Occupied"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_BUSY);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_BUSY);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, _("Free For Chat"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_CHAT);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_CHAT);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, _("Invisible"))) {
-		aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE);
+		aim_setextstatus(od->sess, AIM_ICQ_STATE_INVISIBLE);
 		gc->away = g_strdup("");
 	} else if (!strcmp(state, GAIM_AWAY_CUSTOM)) {
 	 	if (message) {
-			aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY);
+			aim_setextstatus(od->sess, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY);
 			gc->away = g_strdup("");
 		} else {
-			aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
+			aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL);
 		}
 	}
 
@@ -4801,6 +4801,11 @@
 		}
 	}
 
+	/* Set our ICQ status */
+	if  (od->icq && !gc->away) {
+		aim_setextstatus(sess, AIM_ICQ_STATE_NORMAL);
+	}
+
 	/* Activate SSI */
 	/* Sending the enable causes other people to be able to see you, and you to see them */
 	/* Make sure your privacy setting/invisibility is set how you want it before this! */