aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStef Walter <stefw@collabora.co.uk>2011-03-22 23:08:34 +0800
committerStef Walter <stefw@collabora.co.uk>2011-03-22 23:08:34 +0800
commitd5ee1dea31080835f3c1ca091c58769fc989b037 (patch)
tree6fe216c1e57f9b01e8b9ecb76b5cac4ad88216dc
parentaf15e92f0ae08e321a46e21e92500bf47d060b44 (diff)
downloadgsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar.gz
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar.bz2
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar.lz
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar.xz
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.tar.zst
gsoc2013-empathy-d5ee1dea31080835f3c1ca091c58769fc989b037.zip
Only add the 'extra-certificate-identities' parameter if gabble supports it.
-rw-r--r--libempathy/empathy-account-settings.c7
-rw-r--r--libempathy/empathy-account-settings.h4
-rw-r--r--src/empathy-account-assistant.c10
3 files changed, 18 insertions, 3 deletions
diff --git a/libempathy/empathy-account-settings.c b/libempathy/empathy-account-settings.c
index 2a9afabb3..fccc58e33 100644
--- a/libempathy/empathy-account-settings.c
+++ b/libempathy/empathy-account-settings.c
@@ -756,6 +756,13 @@ empathy_account_settings_get_tp_param (EmpathyAccountSettings *settings,
return NULL;
}
+gboolean
+empathy_account_settings_have_tp_param (EmpathyAccountSettings *settings,
+ const gchar *param)
+{
+ return (empathy_account_settings_get_tp_param (settings, param) != NULL);
+}
+
static void
account_settings_remove_from_unset (EmpathyAccountSettings *settings,
const gchar *param)
diff --git a/libempathy/empathy-account-settings.h b/libempathy/empathy-account-settings.h
index 3a2264e28..e02854ada 100644
--- a/libempathy/empathy-account-settings.h
+++ b/libempathy/empathy-account-settings.h
@@ -83,6 +83,10 @@ gboolean empathy_account_settings_has_account (
TpConnectionManagerParam *empathy_account_settings_get_tp_params (
EmpathyAccountSettings *settings);
+gboolean empathy_account_settings_have_tp_param (
+ EmpathyAccountSettings *settings,
+ const gchar *param);
+
void empathy_account_settings_unset (EmpathyAccountSettings *settings,
const gchar *param);
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c
index 4beda4b75..e84fa650c 100644
--- a/src/empathy-account-assistant.c
+++ b/src/empathy-account-assistant.c
@@ -422,7 +422,7 @@ account_assistant_protocol_changed_cb (GtkComboBox *chooser,
"talkx.l.google.com:80",
NULL};
- gchar *extra_identities[] = {
+ gchar *extra_certificate_identities[] = {
"talk.google.com",
NULL};
@@ -432,8 +432,12 @@ account_assistant_protocol_changed_cb (GtkComboBox *chooser,
empathy_account_settings_set_strv (settings, "fallback-servers",
fallback_servers);
- empathy_account_settings_set_strv (settings, "extra-identities",
- extra_identities);
+ if (empathy_account_settings_have_tp_param (settings,
+ "extra-certificate-identities"))
+ {
+ empathy_account_settings_set_strv (settings,
+ "extra-certificate-identities", extra_certificate_identities);
+ }
}
else if (is_facebook)
{