evolution/evolution-3.1.2-libgdata_0_9.patch

60 lines
2.1 KiB
Diff

diff --git a/configure.ac b/configure.ac
index 1078197..903e50e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1283,10 +1283,14 @@ EVO_SET_COMPILE_FLAGS(LIBSOUP, libsoup-gnome-2.4 >= libsoup_minimum_version)
AC_SUBST(LIBSOUP_CFLAGS)
AC_SUBST(LIBSOUP_LIBS)
-EVO_SET_COMPILE_FLAGS(GDATA, libgdata >= 0.4.0)
+EVO_SET_COMPILE_FLAGS(GDATA, libgdata >= 0.7.0)
AC_SUBST(GDATA_CFLAGS)
AC_SUBST(GDATA_LIBS)
+if `$PKG_CONFIG --atleast-version=0.9 libgdata`; then
+ AC_DEFINE(HAVE_LIBGDATA_0_9,1,[libgdata is 0.9 or higher])
+fi
+
EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, libgtkhtml-4.0 libebook-1.2 libecal-1.2 libedataserverui-3.0 libebackend-1.2 $libnotify gtkhtml-editor-4.0)
AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
AC_SUBST(EVOLUTION_CALENDAR_LIBS)
diff --git a/plugins/google-account-setup/google-source.c b/plugins/google-account-setup/google-source.c
index 1fce985..1e54362 100644
--- a/plugins/google-account-setup/google-source.c
+++ b/plugins/google-account-setup/google-source.c
@@ -418,6 +418,9 @@ static void
retrieve_list_clicked (GtkButton *button, GtkComboBox *combo)
{
ESource *source;
+ #ifdef HAVE_LIBGDATA_0_9
+ GDataClientLoginAuthorizer *authorizer;
+ #endif
GDataCalendarService *service;
GDataFeed *feed;
gchar *user, *password, *tmp;
@@ -448,8 +451,14 @@ retrieve_list_clicked (GtkButton *button, GtkComboBox *combo)
return;
}
+ #ifdef HAVE_LIBGDATA_0_9
+ authorizer = gdata_client_login_authorizer_new ("evolution-client-0.1.0", GDATA_TYPE_CALENDAR_SERVICE);
+ service = gdata_calendar_service_new (GDATA_AUTHORIZER (authorizer));
+ if (!gdata_client_login_authorizer_authenticate (authorizer, user, password, NULL, &error)) {
+ #else
service = gdata_calendar_service_new ("evolution-client-0.1.0");
if (!gdata_service_authenticate (GDATA_SERVICE (service), user, password, NULL, &error)) {
+ #endif
/* Error! */
claim_error (parent, error->message);
g_error_free (error);
@@ -559,6 +568,9 @@ retrieve_list_clicked (GtkButton *button, GtkComboBox *combo)
}
g_object_unref (service);
+ #ifdef HAVE_LIBGDATA_0_9
+ g_object_unref (authorizer);
+ #endif
g_free (user);
}