# HG changeset patch # User Mark Doliner # Date 1245368215 0 # Node ID d078048fb03aa8cc330fa6f5700ecd5812987c3b # Parent a9899d234dfa51161618fdbc18e8989b493a4b96 Pass the gc as the handle in a bunch of calls to purple_proxy_connect This causes the connection attempt to be canceled/destroyed if the gc is destroyed diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/bonjour/bonjour_ft.c --- a/libpurple/protocols/bonjour/bonjour_ft.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/bonjour/bonjour_ft.c Thu Jun 18 23:36:55 2009 +0000 @@ -880,7 +880,9 @@ purple_proxy_info_set_type(xf->proxy_info, PURPLE_PROXY_SOCKS5); purple_proxy_info_set_host(xf->proxy_info, xf->proxy_host); purple_proxy_info_set_port(xf->proxy_info, xf->proxy_port); - xf->proxy_connection = purple_proxy_connect_socks5(NULL, xf->proxy_info, + xf->proxy_connection = purple_proxy_connect_socks5( + purple_account_get_connection(account), + xf->proxy_info, dstaddr, 0, bonjour_bytestreams_connect_cb, xfer); diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/bonjour/jabber.c --- a/libpurple/protocols/bonjour/jabber.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Thu Jun 18 23:36:55 2009 +0000 @@ -926,7 +926,9 @@ } purple_proxy_info_set_type(proxy_info, PURPLE_PROXY_NONE); - connect_data = purple_proxy_connect(NULL, jdata->account, + connect_data = purple_proxy_connect( + purple_account_get_connection(jdata->account), + jdata->account, ip, bb->port_p2pj, _connected_to_buddy, pb); if (connect_data == NULL) { diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/sametime/sametime.c --- a/libpurple/protocols/sametime/sametime.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/sametime/sametime.c Thu Jun 18 23:36:55 2009 +0000 @@ -1466,7 +1466,7 @@ if(purple_account_get_bool(account, MW_KEY_FORCE, FALSE) || !host || (! strcmp(current_host, host)) || - (purple_proxy_connect(NULL, account, host, port, connect_cb, pd) == NULL)) { + (purple_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL)) { /* if we're configured to force logins, or if we're being redirected to the already configured host, or if we couldn't diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/yahoo/yahoo_filexfer.c --- a/libpurple/protocols/yahoo/yahoo_filexfer.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo_filexfer.c Thu Jun 18 23:36:55 2009 +0000 @@ -320,7 +320,7 @@ if (purple_xfer_get_type(xfer) == PURPLE_XFER_SEND) { if (yd->jp) { - if (purple_proxy_connect(NULL, account, purple_account_get_string(account, "xferjp_host", YAHOOJP_XFER_HOST), + if (purple_proxy_connect(gc, account, purple_account_get_string(account, "xferjp_host", YAHOOJP_XFER_HOST), purple_account_get_int(account, "xfer_port", YAHOO_XFER_PORT), yahoo_sendfile_connected, xfer) == NULL) { @@ -329,7 +329,7 @@ purple_xfer_cancel_remote(xfer); } } else { - if (purple_proxy_connect(NULL, account, purple_account_get_string(account, "xfer_host", YAHOO_XFER_HOST), + if (purple_proxy_connect(gc, account, purple_account_get_string(account, "xfer_host", YAHOO_XFER_HOST), purple_account_get_int(account, "xfer_port", YAHOO_XFER_PORT), yahoo_sendfile_connected, xfer) == NULL) { @@ -340,7 +340,7 @@ } } else { xfer->fd = -1; - if (purple_proxy_connect(NULL, account, xfer_data->host, xfer_data->port, + if (purple_proxy_connect(gc, account, xfer_data->host, xfer_data->port, yahoo_receivefile_connected, xfer) == NULL) { purple_notify_error(gc, NULL, _("File Transfer Failed"), _("Unable to establish file descriptor.")); @@ -1120,7 +1120,8 @@ } g_free(buf); - if (did < 0 && errno == EAGAIN) return; + if (did < 0 && errno == EAGAIN) + return; else if (did < 0) { purple_debug_error("yahoo", "Unable to write in order to start ft errno = %d\n", errno); purple_xfer_cancel_remote(xfer); @@ -1136,7 +1137,7 @@ close(source);/* Is this required? */ g_free(xd->txbuf); xd->txbuf = NULL; - if (purple_proxy_connect(NULL, account, xd->host, xd->port, yahoo_xfer_connected_15, xfer) == NULL) + if (purple_proxy_connect(gc, account, xd->host, xd->port, yahoo_xfer_connected_15, xfer) == NULL) { purple_notify_error(gc, NULL, _("File Transfer Failed"), _("Unable to establish file descriptor.")); @@ -1841,7 +1842,7 @@ yahoo_packet_send_and_free(pkt_to_send, yd); - if (purple_proxy_connect(NULL, account, xfer_data->host, xfer_data->port, + if (purple_proxy_connect(gc, account, xfer_data->host, xfer_data->port, yahoo_xfer_connected_15, xfer) == NULL) { purple_notify_error(gc, NULL, _("File Transfer Failed"), _("Unable to establish file descriptor.")); @@ -1921,7 +1922,7 @@ xfer_data->status_15 = ACCEPTED; account = purple_connection_get_account(gc); - if (purple_proxy_connect(NULL, account, xfer_data->host, xfer_data->port, + if (purple_proxy_connect(gc, account, xfer_data->host, xfer_data->port, yahoo_xfer_connected_15, xfer) == NULL) { purple_notify_error(gc, NULL, _("File Transfer Failed"),_("Unable to connect")); diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/yahoo/yahoochat.c --- a/libpurple/protocols/yahoo/yahoochat.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoochat.c Thu Jun 18 23:36:55 2009 +0000 @@ -1519,7 +1519,7 @@ purple_roomlist_set_fields(rl, fields); - if (purple_proxy_connect(NULL, account, yrl->host, 80, + if (purple_proxy_connect(gc, account, yrl->host, 80, yahoo_roomlist_got_connected, yrl) == NULL) { purple_notify_error(gc, NULL, _("Connection problem"), _("Unable to fetch room list.")); @@ -1588,8 +1588,9 @@ yrl->ucat = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_CATEGORY, _("User Rooms"), yrl->cat); purple_roomlist_room_add(list, yrl->ucat); - if (purple_proxy_connect(NULL, list->account, yrl->host, 80, - yahoo_roomlist_got_connected, yrl) == NULL) + if (purple_proxy_connect(purple_account_get_connection(list->account), + list->account, yrl->host, 80, + yahoo_roomlist_got_connected, yrl) == NULL) { purple_notify_error(purple_account_get_connection(list->account), NULL, _("Connection problem"), _("Unable to fetch room list.")); diff -r a9899d234dfa -r d078048fb03a libpurple/protocols/yahoo/ycht.c --- a/libpurple/protocols/yahoo/ycht.c Thu Jun 18 23:31:38 2009 +0000 +++ b/libpurple/protocols/yahoo/ycht.c Thu Jun 18 23:36:55 2009 +0000 @@ -578,7 +578,7 @@ yd->ycht = ycht; - if (purple_proxy_connect(NULL, account, + if (purple_proxy_connect(gc, account, purple_account_get_string(account, "ycht-server", YAHOO_YCHT_HOST), purple_account_get_int(account, "ycht-port", YAHOO_YCHT_PORT), ycht_got_connected, ycht) == NULL)