diff src/protocols/msn/msn.c @ 10481:bcfea6c3d5c9

[gaim-migrate @ 11769] Patch 1093958 from Felipe Contreras. It fixes stuff. I also made some tweaks to make valgrind a bit happier. committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Fri, 07 Jan 2005 02:48:33 +0000
parents 9bed28273ec7
children 659edfcac14e
line wrap: on
line diff
--- a/src/protocols/msn/msn.c	Thu Jan 06 23:11:12 2005 +0000
+++ b/src/protocols/msn/msn.c	Fri Jan 07 02:48:33 2005 +0000
@@ -673,22 +673,23 @@
 		http_method = TRUE;
 
 	host = gaim_account_get_string(account, "server", MSN_SERVER);
-	port = gaim_account_get_int(account,    "port",   MSN_PORT);
+	port = gaim_account_get_int(account, "port", MSN_PORT);
 
-	session = msn_session_new(account, host, port, http_method);
+	session = msn_session_new(account);
 
 	gc->proto_data = session;
 	gc->flags |= GAIM_CONNECTION_HTML | GAIM_CONNECTION_FORMATTING_WBFO | GAIM_CONNECTION_NO_BGCOLOR | GAIM_CONNECTION_NO_FONTSIZE | GAIM_CONNECTION_NO_URLDESC;
 
-	gaim_connection_update_progress(gc, _("Connecting"), 0, MSN_CONNECT_STEPS);
+	msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
 
 	/* Hmm, I don't like this. */
+	/* XXX shx: Me neither */
 	username = msn_normalize(account, gaim_account_get_username(account));
 
 	if (strcmp(username, gaim_account_get_username(account)))
 		gaim_account_set_username(account, username);
 
-	msn_session_connect(session);
+	msn_session_connect(session, host, port, http_method);
 }
 
 static void
@@ -740,14 +741,7 @@
 		session = gc->proto_data;
 		swboard = msn_session_get_swboard(session, who);
 
-		if (!g_queue_is_empty(swboard->im_queue) || swboard->empty)
-		{
-			msn_switchboard_queue_msg(swboard, msg);
-		}
-		else
-		{
-			msn_switchboard_send_msg(swboard, msg);
-		}
+		msn_switchboard_send_msg(swboard, msg, TRUE);
 	}
 	else
 	{
@@ -802,13 +796,7 @@
 
 	swboard = msn_session_find_swboard(session, who);
 
-	if (swboard == NULL)
-		return 0;
-
-	if (swboard->empty)
-		return 0;
-
-	if (!g_queue_is_empty(swboard->im_queue))
+	if (swboard == NULL || !msn_switchboard_can_send(swboard))
 		return 0;
 
 	msg = msn_message_new(MSN_MSG_TYPING);
@@ -818,7 +806,7 @@
 						 gaim_account_get_username(account));
 	msn_message_set_bin_data(msg, "\r\n", 2);
 
-	msn_switchboard_send_msg(swboard, msg);
+	msn_switchboard_send_msg(swboard, msg, FALSE);
 
 	msn_message_destroy(msg);
 
@@ -1150,7 +1138,7 @@
 
 	msg = msn_message_new_plain(msgtext);
 	msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
-	msn_switchboard_send_msg(swboard, msg);
+	msn_switchboard_send_msg(swboard, msg, FALSE);
 	msn_message_destroy(msg);
 
 	g_free(msgformat);
@@ -1169,6 +1157,7 @@
 	MsnCmdProc *cmdproc;
 
 	session = gc->proto_data;
+
 	cmdproc = session->notification->cmdproc;
 
 	if (!session->http_method)