diff options
author | Milan Crha <mcrha@redhat.com> | 2016-01-20 21:52:35 +0100 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2016-01-20 21:53:30 +0100 |
commit | c85a6f125ae9bcab916c8d1771f623e46f6da6ff (patch) | |
tree | 7e549de370b968f941555328683deb6b1906b64f | |
parent | 04ce4be9daf2aaf2b6fa5b59fd19eb34a8299083 (diff) | |
download | evolution-data-server-c85a6f125ae9bcab916c8d1771f623e46f6da6ff.tar.gz |
Use icaltzutil_set_exact_vtimezones_support(), if available
This is a function introduced in libical 2.0.0, which influences
the way libical timezones are returned. The interoperability mode
means to turn exact timezones off, thus they are returned with
RRULE, intead of "expanded".
-rw-r--r-- | calendar/libedata-cal/e-data-cal-factory.c | 4 | ||||
-rw-r--r-- | calendar/libedata-cal/e-subprocess-cal-factory.c | 4 | ||||
-rw-r--r-- | configure.ac | 40 | ||||
-rw-r--r-- | services/evolution-calendar-factory/evolution-calendar-factory.c | 6 |
4 files changed, 39 insertions, 15 deletions
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c index 57f897fa8..6e446f310 100644 --- a/calendar/libedata-cal/e-data-cal-factory.c +++ b/calendar/libedata-cal/e-data-cal-factory.c @@ -277,6 +277,10 @@ e_data_cal_factory_new (GCancellable *cancellable, ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN); #endif +#ifdef HAVE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT + icaltzutil_set_exact_vtimezones_support (0); +#endif + /* XXX Pre-load all built-in timezones in libical. * * Built-in time zones in libical 0.43 are loaded on demand, diff --git a/calendar/libedata-cal/e-subprocess-cal-factory.c b/calendar/libedata-cal/e-subprocess-cal-factory.c index 0537a46da..a0288ac7b 100644 --- a/calendar/libedata-cal/e-subprocess-cal-factory.c +++ b/calendar/libedata-cal/e-subprocess-cal-factory.c @@ -144,6 +144,10 @@ e_subprocess_cal_factory_new (GCancellable *cancellable, ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN); #endif +#ifdef HAVE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT + icaltzutil_set_exact_vtimezones_support (0); +#endif + /* XXX Pre-load all built-in timezones in libical. * * Built-in time zones in libical 0.43 are loaded on demand, diff --git a/configure.ac b/configure.ac index 9d9c31180..3ae8a4f54 100644 --- a/configure.ac +++ b/configure.ac @@ -1511,19 +1511,33 @@ dnl ***** AC_SUBST(EVOLUTION_CALENDAR_CFLAGS) AC_SUBST(EVOLUTION_CALENDAR_LIBS) - dnl **************************** - dnl Check for ical_set_unknown_token_handling_setting function - dnl **************************** - AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function]) - save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS - save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM( - [[#include <libical/ical.h>]], - [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])], - [AC_DEFINE(HAVE_ICAL_UNKNOWN_TOKEN_HANDLING, 1, [libical provides ical_set_unknown_token_handling_setting function]) ac_cv_have_iuth=yes],[ac_cv_have_iuth=no]) - CFLAGS=$save_cflags - LIBS=$save_libs - AC_MSG_RESULT([$ac_cv_have_iuth]) +dnl **************************** +dnl Check for ical_set_unknown_token_handling_setting function +dnl **************************** +AC_MSG_CHECKING([ical_set_unknown_token_handling_setting function]) +save_cflags=$CFLAGS; CFLAGS=$EVOLUTION_CALENDAR_CFLAGS +save_libs=$LIBS; LIBS="$EVOLUTION_CALENDAR_LIBS" +AC_LINK_IFELSE([AC_LANG_PROGRAM( + [[#include <libical/ical.h>]], + [[ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN)]])], + [AC_DEFINE(HAVE_ICAL_UNKNOWN_TOKEN_HANDLING, 1, [libical provides ical_set_unknown_token_handling_setting function]) ac_cv_have_iuth=yes],[ac_cv_have_iuth=no]) +CFLAGS=$save_cflags +LIBS=$save_libs +AC_MSG_RESULT([$ac_cv_have_iuth]) + +dnl **************************** +dnl Check for icaltzutil_set_exact_vtimezones_support function +dnl **************************** +AC_MSG_CHECKING([icaltzutil_set_exact_vtimezones_support function]) +save_cflags=$CFLAGS; CFLAGS="$EVOLUTION_DATA_SERVER_CFLAGS" +save_libs=$LIBS; LIBS="$EVOLUTION_DATA_SERVER_LIBS" +AC_LINK_IFELSE([AC_LANG_PROGRAM( + [[#include <libical/ical.h>]], + [[icaltzutil_set_exact_vtimezones_support (0)]])], + [AC_DEFINE(HAVE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT, 1, [libical provides icaltzutil_set_exact_vtimezones_support function]) ac_cv_have_isevs=yes],[ac_cv_have_isevs=no]) +CFLAGS=$save_cflags +LIBS=$save_libs +AC_MSG_RESULT([$ac_cv_have_isevs]) dnl ****************************** dnl Google flags diff --git a/services/evolution-calendar-factory/evolution-calendar-factory.c b/services/evolution-calendar-factory/evolution-calendar-factory.c index 50ae308bc..49088a050 100644 --- a/services/evolution-calendar-factory/evolution-calendar-factory.c +++ b/services/evolution-calendar-factory/evolution-calendar-factory.c @@ -24,9 +24,7 @@ #include <gtk/gtk.h> #endif -#ifdef HAVE_ICAL_UNKNOWN_TOKEN_HANDLING #include <libical/ical.h> -#endif #include <libedataserver/libedataserver.h> #include <libedata-cal/libedata-cal.h> @@ -83,6 +81,10 @@ main (gint argc, ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN); #endif +#ifdef HAVE_ICALTZUTIL_SET_EXACT_VTIMEZONES_SUPPORT + icaltzutil_set_exact_vtimezones_support (0); +#endif + e_gdbus_templates_init_main_thread (); server = e_data_cal_factory_new (NULL, &error); |