diff libpurple/protocols/jabber/si.c @ 27577:6d26258e9f1d

propagate from branch 'im.pidgin.pidgin' (head ac87c285c7056f86005dc157b9870745de471f74) to branch 'im.pidgin.cpw.darkrain42.roster' (head 976d874853ac9745edb77d3cf107b92ebc037c10)
author Paul Aurich <paul@darkrain42.org>
date Mon, 06 Jul 2009 04:37:41 +0000
parents 73c8e1964eef
children 636c3b6c9cc7 f058edca3d66 8781cfb550bb
line wrap: on
line diff
--- a/libpurple/protocols/jabber/si.c	Wed Jun 10 04:42:11 2009 +0000
+++ b/libpurple/protocols/jabber/si.c	Mon Jul 06 04:37:41 2009 +0000
@@ -976,10 +976,10 @@
 	PurpleConnection *gc = js->gc;
 	PurpleAccount *account = purple_connection_get_account(gc);
 
-	purple_debug_error("jabber", "an error occured during IBB file transfer\n");
+	purple_debug_error("jabber", "an error occurred during IBB file transfer\n");
 	purple_xfer_error(purple_xfer_get_type(xfer), account,
 		jabber_ibb_session_get_who(sess),
-			_("An error occured on the in-band bytestream transfer\n"));
+			_("An error occurred on the in-band bytestream transfer\n"));
 	purple_xfer_cancel_remote(xfer);
 }
 
@@ -1321,6 +1321,11 @@
 			jabber_iq_remove_callback_by_id(js, jsx->iq_id);
 		if (jsx->local_streamhost_fd >= 0)
 			close(jsx->local_streamhost_fd);
+		if (purple_xfer_get_type(xfer) == PURPLE_XFER_SEND &&
+			xfer->fd >= 0) {
+			purple_debug_info("jabber", "remove port mapping\n");
+			purple_network_remove_port_mapping(xfer->fd);
+		}
 		if (jsx->connect_timeout > 0)
 			purple_timeout_remove(jsx->connect_timeout);
 		if (jsx->ibb_timeout_handle > 0)