Mercurial > pidgin
changeset 30056:f0de96a35877
This should probably work a bit better. At least, we want to get rid of any
listeners when we timeout.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Thu, 06 May 2010 07:36:56 +0000 |
parents | 71c24c85e4af |
children | 7a82bc59b63f |
files | libpurple/protocols/msn/directconn.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/msn/directconn.c Thu May 06 05:24:06 2010 +0000 +++ b/libpurple/protocols/msn/directconn.c Thu May 06 07:36:56 2010 +0000 @@ -777,7 +777,7 @@ static gboolean msn_dc_incoming_connection_timeout_cb(gpointer data) { MsnDirectConn *dc = data; - MsnSlpCall *slpcall = dc->slpcall; + MsnSlpCall *slpcall; if (purple_debug_is_verbose()) purple_debug_info("msn", "msn_dc_incoming_connection_timeout_cb %p\n", dc); @@ -785,7 +785,6 @@ g_return_val_if_fail(dc != NULL, FALSE); slpcall = dc->slpcall; - g_return_val_if_fail(slpcall != NULL, FALSE); if (dc->listen_data != NULL) { purple_network_listen_cancel(dc->listen_data); @@ -803,9 +802,12 @@ dc->listenfd = -1; } + dc->connect_timeout_handle = 0; msn_dc_destroy(dc); - /* Start p2p file transfer */ - msn_slpcall_session_init(slpcall); + + /* Start p2p file transfer, if possible */ + if (slpcall) + msn_slpcall_session_init(slpcall); return FALSE; }