Mercurial > pidgin
changeset 1275:de3339e2a0c4
[gaim-migrate @ 1285]
Signing off w/ the MSN plugin should work now. It also ignores messages from teh Hotmail server :-D
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Thu, 14 Dec 2000 18:54:40 +0000 |
parents | 32e819c194fd |
children | 3e19d163fc45 |
files | STATUS plugins/msn/msn.c |
diffstat | 2 files changed, 49 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/STATUS Thu Dec 14 17:26:54 2000 +0000 +++ b/STATUS Thu Dec 14 18:54:40 2000 +0000 @@ -1,4 +1,4 @@ -STATUS of GAIM CVS tree. Last modified $Date: 2000-12-14 03:33:41 -0500 (Thu, 14 Dec 2000) $ by $Author: robflynn $. +STATUS of GAIM CVS tree. Last modified $Date: 2000-12-14 13:54:40 -0500 (Thu, 14 Dec 2000) $ by $Author: robflynn $. This file is meant to provide gaim users who use the CVS version to see whether they actually want to compile what they just checked out. Gaim CVS is usually @@ -98,7 +98,7 @@ MSN === -MSN currently supports signing on, sending and receiving messages. The +MSN currently supports signing on/off, sending and receiving messages. The buddylist is functional. When sending the initial message (to start a conversation) there will be a small delay. It will appear as if the client has frozen. This will not always be the case. I have a fix
--- a/plugins/msn/msn.c Thu Dec 14 17:26:54 2000 +0000 +++ b/plugins/msn/msn.c Thu Dec 14 18:54:40 2000 +0000 @@ -367,6 +367,12 @@ int size; int status; + if (strcasecmp("hotmail", resps[1]) == 0) { + /* We want to ignore these */ + g_strfreev(resps); + return; + } + /* Determine our message size */ size = atoi(resps[3]); @@ -682,6 +688,46 @@ g_free(buf); } +void msn_close (struct gaim_connection *gc) { + struct msn_data *mdata = (struct msn_data *)gc->proto_data; + GSList *conns = msn_connections; + struct msn_conn *mc = NULL; + char buf[4096]; + + while (conns) { + mc = (struct msn_conn *)conns->data; + + if (mc->inpa > 0) + gdk_input_remove(mc->inpa); + + if (mc->fd > 0) + close(mc->fd); + + if (mc->user != NULL) + g_free(mc->user); + + conns = g_slist_remove(conns, mc); + g_free(mc); + } + + + g_snprintf(buf, 4096, "OUT\n"); + write(mdata->fd, buf, strlen(buf)); + + if (gc->inpa > 0) + gdk_input_remove(gc->inpa); + + close(mdata->fd); + + if (mdata->friendly != NULL) + g_free(mdata->friendly); + + g_free(gc->proto_data); + + debug_printf(_("Signed off.\n")); + +} + static struct prpl *my_protocol = NULL; void msn_init(struct prpl *ret) { @@ -691,7 +737,7 @@ ret->action_menu = NULL; ret->user_opts = NULL; ret->login = msn_login; - ret->close = NULL; + ret->close = msn_close; ret->send_im = msn_send_im; ret->set_info = NULL; ret->get_info = NULL;