aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/exchange-operations')
-rw-r--r--plugins/exchange-operations/ChangeLog5
-rw-r--r--plugins/exchange-operations/exchange-config-listener.c19
2 files changed, 16 insertions, 8 deletions
diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog
index 259dd47f88..1407b97101 100644
--- a/plugins/exchange-operations/ChangeLog
+++ b/plugins/exchange-operations/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-25 Matthew Barnes <mbarnes@redhat.com>
+
+ * exchange-config-listener.c (exchange_add_autocompletion_folders):
+ Don't assume the absolute URI is non-NULL (#427232).
+
2007-05-11 Gilles Dartiguelongue <dartigug@esiee.fr>
* exchange-folder.c: (org_gnome_exchange_folder_inbox_unsubscribe):
diff --git a/plugins/exchange-operations/exchange-config-listener.c b/plugins/exchange-operations/exchange-config-listener.c
index c59b738d1d..8e6c8e5d33 100644
--- a/plugins/exchange-operations/exchange-config-listener.c
+++ b/plugins/exchange-operations/exchange-config-listener.c
@@ -1248,26 +1248,29 @@ static void
exchange_add_autocompletion_folders (GConfClient *gc_client, ExchangeAccount *account)
{
ESourceList *sl=NULL;
- ESourceGroup *group;
ESource *source;
- GSList *groups, *sources;
+ GSList *groups;
gboolean found_group=FALSE;
sl = e_source_list_new_for_gconf (gc_client, CONF_KEY_CONTACTS);
groups = e_source_list_peek_groups (sl);
for ( ; groups != NULL && !found_group; groups = g_slist_next (groups)) {
- group = E_SOURCE_GROUP (groups->data);
+ ESourceGroup *group = E_SOURCE_GROUP (groups->data);
+
if (strcmp (e_source_group_peek_name (group), account->account_name) == 0
&&
strcmp (e_source_group_peek_base_uri (group), EXCHANGE_URI_PREFIX) == 0) {
-
- sources = e_source_group_peek_sources (group);
+ GSList *sources = e_source_group_peek_sources (group);
for( ; sources != NULL; sources = g_slist_next (sources)) {
- source = E_SOURCE (sources->data);
- if (g_str_has_prefix (e_source_peek_absolute_uri (source),
- "gal://")) {
+ ESource *source = E_SOURCE (sources->data);
+ const gchar *absolute_uri;
+
+ absolute_uri = e_source_peek_absolute_uri (source);
+ if (absolute_uri == NULL)
+ continue;
+ if (g_str_has_prefix (absolute_uri, "gal://")) {
/* Set autocompletion on GAL alone by default */
e_source_set_property (source, "completion", "true");
break;