X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmerge-evolution.c;h=c3c2639ff296c37dab92e6941776376d030c0be0;hb=bf6d7db22a79d11630454dcd2e867764e89ca9fe;hp=bd1448338f94bc469599340e4952d162dd51add9;hpb=7163b4618939eb14d7781b4100f73270ea2f70fa;p=glabels diff --git a/src/merge-evolution.c b/src/merge-evolution.c index bd144833..c3c2639f 100644 --- a/src/merge-evolution.c +++ b/src/merge-evolution.c @@ -29,7 +29,7 @@ #include "merge-evolution.h" -#include +#include #include #include #include @@ -297,6 +297,31 @@ static gint sort_contact_by_file_as(gconstpointer *a, gconstpointer *b) /*--------------------------------------------------------------------------*/ /* Open merge source. */ /*--------------------------------------------------------------------------*/ +static EBook * +gl_open_system_addressbook (GError **error) +{ + ESourceRegistry *registry; + EBook *book = NULL; + ESource *source; + + registry = e_source_registry_new_sync (NULL, error); + if (!registry) + return NULL; + + source = e_source_registry_ref_builtin_address_book (registry); + if (!source) { + g_object_unref (registry); + return NULL; + } + + book = e_book_new (source, error); + + g_object_unref (source); + g_object_unref (registry); + + return book; +} + static void gl_merge_evolution_open (glMerge *merge) { @@ -317,12 +342,12 @@ gl_merge_evolution_open (glMerge *merge) return; } - merge_evolution->priv->book = e_book_new_system_addressbook(&error); + merge_evolution->priv->book = gl_open_system_addressbook(&error); if (!merge_evolution->priv->book) { g_warning ("Couldn't open addressbook."); if (error) { - g_warning ("e_book_new_system_addressbook: %s", error->message); + g_warning ("gl_open_system_addressbook: %s", error->message); g_error_free (error); } e_book_query_unref(query);