diff options
Diffstat (limited to 'addressbook/backend')
-rw-r--r-- | addressbook/backend/ebook/e-book.c | 1 | ||||
-rw-r--r-- | addressbook/backend/ebook/e-card.c | 2 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-backend-ldap.c | 10 |
3 files changed, 8 insertions, 5 deletions
diff --git a/addressbook/backend/ebook/e-book.c b/addressbook/backend/ebook/e-book.c index 7cdca25d95..dd7b433ff8 100644 --- a/addressbook/backend/ebook/e-book.c +++ b/addressbook/backend/ebook/e-book.c @@ -35,6 +35,7 @@ struct _EBookPrivate { GList *book_factories; GList *iter; + /* cached capabilites */ char *cap; gboolean cap_queried; diff --git a/addressbook/backend/ebook/e-card.c b/addressbook/backend/ebook/e-card.c index 38ee1ce224..70add9591d 100644 --- a/addressbook/backend/ebook/e-card.c +++ b/addressbook/backend/ebook/e-card.c @@ -2106,7 +2106,7 @@ e_card_set_property (GObject *object, case PROP_CATEGORY_LIST: if (card->categories) g_object_unref(card->categories); - card->categories = E_LIST(g_value_get_pointer(value)); + card->categories = E_LIST(g_value_get_object(value)); if (card->categories) g_object_ref(card->categories); break; diff --git a/addressbook/backend/pas/pas-backend-ldap.c b/addressbook/backend/pas/pas-backend-ldap.c index 3e0db0fca5..2c919c788b 100644 --- a/addressbook/backend/pas/pas-backend-ldap.c +++ b/addressbook/backend/pas/pas-backend-ldap.c @@ -2614,10 +2614,12 @@ func_beginswith(struct _ESExp *f, int argc, struct _ESExpResult **argv, void *da str, str)); } else if (!strcmp (ldap_attr, "fileAs")) { - ldap_data->list = g_list_prepend(ldap_data->list, - g_strdup_printf( - "(|(fileAs=%s*)(&(!(fileAs=*))(sn=%s*)))", - str, str)); + if (ldap_data->bl->priv->evolutionPersonSupported) + ldap_data->list = g_list_prepend(ldap_data->list, + g_strdup_printf("(fileAs=%s*)", str)); + else + ldap_data->list = g_list_prepend(ldap_data->list, + g_strdup_printf("(sn=%s*)", str)); } else { ldap_data->list = g_list_prepend(ldap_data->list, |