Fri, 26 Aug 2016 18:50:34 -0500
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
This patch adds GError as an argument to purple_proxy_get_proxy_resolver()
in order to give more detailed error information.
| libpurple/proxy.c | file | annotate | diff | comparison | revisions | |
| libpurple/proxy.h | file | annotate | diff | comparison | revisions | |
| libpurple/purple-gio.c | file | annotate | diff | comparison | revisions |
--- a/libpurple/proxy.c Sat Aug 27 18:37:48 2016 -0500 +++ b/libpurple/proxy.c Fri Aug 26 18:50:34 2016 -0500 @@ -1027,7 +1027,7 @@ } GProxyResolver * -purple_proxy_get_proxy_resolver(PurpleAccount *account) +purple_proxy_get_proxy_resolver(PurpleAccount *account, GError **error) { PurpleProxyInfo *info = purple_proxy_get_setup(account); const gchar *protocol; @@ -1062,8 +1062,9 @@ break; default: - purple_debug_error("proxy", - "Invalid Proxy type (%d) specified.\n", + g_set_error(error, PURPLE_CONNECTION_ERROR, + PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, + _("Invalid Proxy type (%d) specified"), purple_proxy_info_get_proxy_type(info)); return NULL; } @@ -1071,12 +1072,11 @@ if (purple_proxy_info_get_host(info) == NULL || purple_proxy_info_get_port(info) <= 0) { - purple_notify_error(NULL, NULL, - _("Invalid proxy settings"), + g_set_error_literal(error, PURPLE_CONNECTION_ERROR, + PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Either the host name or port number " "specified for your given proxy type is " - "invalid."), - purple_request_cpar_from_account( account)); + "invalid.")); return NULL; }
--- a/libpurple/proxy.h Sat Aug 27 18:37:48 2016 -0500 +++ b/libpurple/proxy.h Fri Aug 26 18:50:34 2016 -0500 @@ -331,6 +331,7 @@ /** * purple_proxy_get_proxy_resolver: * @account: The account for which to get the proxy resolver. + * @error: Return location for a GError, or NULL. * * Returns a #GProxyResolver capable of resolving which proxy * to use for this account, if any. This object can be given to a @@ -341,7 +342,8 @@ * account's (or system) proxy settings, or a reference to * a #GProxyResolver on success. */ -GProxyResolver *purple_proxy_get_proxy_resolver(PurpleAccount *account); +GProxyResolver *purple_proxy_get_proxy_resolver(PurpleAccount *account, + GError **error); G_END_DECLS
--- a/libpurple/purple-gio.c Sat Aug 27 18:37:48 2016 -0500 +++ b/libpurple/purple-gio.c Fri Aug 26 18:50:34 2016 -0500 @@ -113,12 +113,9 @@ GProxyResolver *resolver; GSocketClient *client; - resolver = purple_proxy_get_proxy_resolver(account); + resolver = purple_proxy_get_proxy_resolver(account, error); if (resolver == NULL) { - g_set_error_literal(error, PURPLE_CONNECTION_ERROR, - PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, - _("Invalid proxy settings")); return NULL; }