/pidgin/main: cd43092f4731: Merged in CMaiku/pidgin (pull reques...
Gary Kramlich <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: cd43092f4731e9e4187e6a51d376230e9b301464 Author: Gary Kramlich <[email protected]> Date: 2016-01-23 12:54 -0600 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/cd43092f4731 Description: Merged in CMaiku/pidgin (pull request #13) Don't have proxy code call callbacks if connect data disposed diffstat: libpurple/proxy.c | 52 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 37 insertions(+), 15 deletions(-) diffs (76 lines): diff --git a/libpurple/proxy.c b/libpurple/proxy.c --- a/libpurple/proxy.c +++ b/libpurple/proxy.c @@ -732,11 +732,19 @@ connect_to_host_cb(GObject *source, GAsy conn = g_socket_client_connect_to_host_finish(G_SOCKET_CLIENT(source), res, &error); if (conn == NULL) { - purple_debug_error("proxy", - "Unable to connect to destination host: %s\n", - error->message); - purple_proxy_connect_data_disconnect(connect_data, - "Unable to connect to destination host.\n"); + /* Ignore cancelled error as that signifies connect_data has + * been freed + */ + if (!g_error_matches(error, G_IO_ERROR, + G_IO_ERROR_CANCELLED)) { + purple_debug_error("proxy", "Unable to connect to " + "destination host: %s\n", + error->message); + purple_proxy_connect_data_disconnect(connect_data, + "Unable to connect to destination " + "host.\n"); + } + g_clear_error(&error); return; } @@ -817,11 +825,19 @@ socks5_proxy_connect_cb(GObject *source, stream = g_proxy_connect_finish(G_PROXY(source), res, &error); if (stream == NULL) { - purple_debug_error("proxy", - "Unable to connect to destination host: %s\n", - error->message); - purple_proxy_connect_data_disconnect(connect_data, - "Unable to connecto to destination host.\n"); + /* Ignore cancelled error as that signifies connect_data has + * been freed + */ + if (!g_error_matches(error, G_IO_ERROR, + G_IO_ERROR_CANCELLED)) { + purple_debug_error("proxy", "Unable to connect to " + "destination host: %s\n", + error->message); + purple_proxy_connect_data_disconnect(connect_data, + "Unable to connect to destination " + "host.\n"); + } + g_clear_error(&error); return; } @@ -869,11 +885,17 @@ socks5_connect_to_host_cb(GObject *sourc conn = g_socket_client_connect_to_host_finish(G_SOCKET_CLIENT(source), res, &error); if (conn == NULL) { - purple_debug_error("proxy", - "Unable to connect to SOCKS5 host: %s\n", - error->message); - purple_proxy_connect_data_disconnect(connect_data, - "Unable to connect to SOCKS5 host.\n"); + /* Ignore cancelled error as that signifies connect_data has + * been freed + */ + if (!g_error_matches(error, G_IO_ERROR, + G_IO_ERROR_CANCELLED)) { + purple_debug_error("proxy", "Unable to connect to " + "SOCKS5 host: %s\n", error->message); + purple_proxy_connect_data_disconnect(connect_data, + "Unable to connect to SOCKS5 host.\n"); + } + g_clear_error(&error); return; } _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits