[evolution-data-server] Properly fix bug #601111
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Properly fix bug #601111
- Date: Mon, 7 Feb 2011 13:05:26 +0000 (UTC)
commit fa5217c38bec521d695780955f0f3253d39ca4d1
Author: Milan Crha <mcrha redhat com>
Date: Mon Feb 7 14:04:43 2011 +0100
Properly fix bug #601111
libedataserver/e-proxy.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/libedataserver/e-proxy.c b/libedataserver/e-proxy.c
index 2258d4c..c56443c 100644
--- a/libedataserver/e-proxy.c
+++ b/libedataserver/e-proxy.c
@@ -93,6 +93,7 @@ enum ProxyType {
#define KEY_GCONF_SYS_SOCKS_HOST PATH_GCONF_SYS_PROXY "/socks_host"
#define KEY_GCONF_SYS_SOCKS_PORT PATH_GCONF_SYS_PROXY "/socks_port"
#define KEY_GCONF_SYS_AUTOCONFIG_URL PATH_GCONF_SYS_PROXY "/autoconfig_url"
+#define KEY_GCONF_SYS_MODE PATH_GCONF_SYS_PROXY "/mode"
#define RIGHT_KEY(sufix) (priv->type == PROXY_TYPE_SYSTEM ? KEY_GCONF_SYS_ ## sufix : KEY_GCONF_EVO_ ## sufix)
@@ -602,7 +603,7 @@ ep_set_proxy (GConfClient *client,
EProxy* proxy = (EProxy *)user_data;
EProxyPrivate* priv = proxy->priv;
GSList *ignore;
- gboolean changed = FALSE;
+ gboolean changed = FALSE, sys_manual = TRUE;
old_type = priv->type;
priv->type = gconf_client_get_int (client, KEY_GCONF_EVO_PROXY_TYPE, NULL);
@@ -610,8 +611,17 @@ ep_set_proxy (GConfClient *client,
priv->type = PROXY_TYPE_SYSTEM;
changed = priv->type != old_type;
+ if (priv->type == PROXY_TYPE_SYSTEM) {
+ gchar *mode = gconf_client_get_string (client, KEY_GCONF_SYS_MODE, NULL);
+
+ /* supporting only manual system proxy setting */
+ sys_manual = mode && g_str_equal (mode, "manual");
+
+ g_free (mode);
+ }
+
priv->use_proxy = gconf_client_get_bool (client, RIGHT_KEY (USE_HTTP_PROXY), NULL);
- if (!priv->use_proxy || priv->type == PROXY_TYPE_NO_PROXY) {
+ if (!priv->use_proxy || priv->type == PROXY_TYPE_NO_PROXY || !sys_manual) {
changed = ep_change_uri (&priv->uri_http, NULL) || changed;
changed = ep_change_uri (&priv->uri_https, NULL) || changed;
goto emit_signal;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]