/pidgin/main: b67fb3fb5f85: proxy: Add GError argument to purple...

Mike Ruprecht <[email protected]> Sun, 28 Aug 2016 23:58:01 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: b67fb3fb5f8516fe9b2b3665d4fc11c98237b849
Author:	 Mike Ruprecht <[email protected]>
Date:	 2016-08-26 18:50 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/b67fb3fb5f85

Description:

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.

diffstat:

 libpurple/proxy.c      |  14 +++++++-------
 libpurple/proxy.h      |   4 +++-
 libpurple/purple-gio.c |   5 +----
 3 files changed, 11 insertions(+), 12 deletions(-)

diffs (78 lines):

diff --git a/libpurple/proxy.c b/libpurple/proxy.c
--- a/libpurple/proxy.c
+++ b/libpurple/proxy.c
@@ -1027,7 +1027,7 @@ purple_proxy_connect_cancel_with_handle(
 }
 
 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 @@ purple_proxy_get_proxy_resolver(PurpleAc
 			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 @@ purple_proxy_get_proxy_resolver(PurpleAc
 
 	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;
 	}
 
diff --git a/libpurple/proxy.h b/libpurple/proxy.h
--- a/libpurple/proxy.h
+++ b/libpurple/proxy.h
@@ -331,6 +331,7 @@ void purple_proxy_connect_cancel_with_ha
 /**
  * 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 @@ void purple_proxy_connect_cancel_with_ha
  *         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
 
diff --git a/libpurple/purple-gio.c b/libpurple/purple-gio.c
--- a/libpurple/purple-gio.c
+++ b/libpurple/purple-gio.c
@@ -113,12 +113,9 @@ purple_gio_socket_client_new(PurpleAccou
 	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;
 	}
 

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits