diff options
Diffstat (limited to 'plugins/exchange-operations/exchange-contacts.c')
-rw-r--r-- | plugins/exchange-operations/exchange-contacts.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/plugins/exchange-operations/exchange-contacts.c b/plugins/exchange-operations/exchange-contacts.c index 5fe233dec0..f04c9d6076 100644 --- a/plugins/exchange-operations/exchange-contacts.c +++ b/plugins/exchange-operations/exchange-contacts.c @@ -25,6 +25,7 @@ #include <e-util/e-config.h> #include <calendar/gui/e-cal-config.h> #include <libedataserver/e-source.h> +#include <libedataserver/e-source-list.h> #include <libedataserver/e-url.h> #include <e-folder.h> #include <exchange-account.h> @@ -342,17 +343,19 @@ e_exchange_contacts_check (EPlugin *epl, EConfigHookPageCheckData *data) GConfClient *client; ESourceList *source_list = NULL; ESourceGroup *source_group = NULL; - GSList *groups; ESource *source; + EAccount *eaccount; /* GAL folder */ client = gconf_client_get_default (); source_list = e_source_list_new_for_gconf ( client, CONF_KEY_CONTACTS); g_object_unref (client); - groups = e_source_list_peek_groups (source_list); - if ((source_group = e_source_list_peek_group_by_name (source_list, - account->account_name))) { + eaccount = exchange_account_fetch (account); + g_return_val_if_fail (eaccount != NULL, FALSE); + g_return_val_if_fail (eaccount->uid != NULL, FALSE); + + if ((source_group = e_source_list_peek_group_by_properties (source_list, "account-uid", eaccount->uid, NULL))) { source = e_source_group_peek_source_by_name (source_group, e_source_peek_name (t->source)); if (e_source_group_peek_source_by_name (source_group, e_source_peek_name (t->source))) { |