diff options
Diffstat (limited to 'gnome-extra/evolution-data-server/files/evolution-data-server-3.2.2-libical-timezones.patch')
-rw-r--r-- | gnome-extra/evolution-data-server/files/evolution-data-server-3.2.2-libical-timezones.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.2-libical-timezones.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.2-libical-timezones.patch deleted file mode 100644 index b7cf9d614c60..000000000000 --- a/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.2-libical-timezones.patch +++ /dev/null @@ -1,67 +0,0 @@ -From af5d404e57f43e58cac037ad3370e31004347c6e Mon Sep 17 00:00:00 2001 -From: Milan Crha <mcrha@redhat.com> -Date: Wed, 23 Nov 2011 09:31:01 +0100 -Subject: [PATCH] Pre-load all built-in timezones in libical on calendar - factory start - -This is the same fix as was done in evolution within bug #628139 ---- - calendar/libedata-cal/e-data-cal-factory.c | 27 +++++++++++++++++++++++++-- - 1 files changed, 25 insertions(+), 2 deletions(-) - -diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c -index 4413341..df3e136 100644 ---- a/calendar/libedata-cal/e-data-cal-factory.c -+++ b/calendar/libedata-cal/e-data-cal-factory.c -@@ -52,9 +52,7 @@ - - #include "e-gdbus-cal-factory.h" - --#ifdef HAVE_ICAL_UNKNOWN_TOKEN_HANDLING - #include <libical/ical.h> --#endif - - #ifdef G_OS_WIN32 - #include <windows.h> -@@ -1007,6 +1005,8 @@ main (gint argc, - EDataCalFactory *factory; - guint owner_id; - GError *error = NULL; -+ icalarray *builtin_timezones; -+ gint ii; - - #ifdef G_OS_WIN32 - /* Reduce risks */ -@@ -1057,6 +1057,29 @@ main (gint argc, - ical_set_unknown_token_handling_setting (ICAL_DISCARD_TOKEN); - #endif - -+ /* XXX Pre-load all built-in timezones in libical. -+ * -+ * Built-in time zones in libical 0.43 are loaded on demand, -+ * but not in a thread-safe manner, resulting in a race when -+ * multiple threads call icaltimezone_load_builtin_timezone() -+ * on the same time zone. Until built-in time zone loading -+ * in libical is made thread-safe, work around the issue by -+ * loading all built-in time zones now, so libical's internal -+ * time zone array will be fully populated before any threads -+ * are spawned. -+ */ -+ builtin_timezones = icaltimezone_get_builtin_timezones (); -+ for (ii = 0; ii < builtin_timezones->num_elements; ii++) { -+ icaltimezone *zone; -+ -+ zone = icalarray_element_at (builtin_timezones, ii); -+ -+ /* We don't care about the component right now, -+ * we just need some function that will trigger -+ * icaltimezone_load_builtin_timezone(). */ -+ icaltimezone_get_component (zone); -+ } -+ - factory = g_object_new (E_TYPE_DATA_CAL_FACTORY, NULL); - - loop = g_main_loop_new (NULL, FALSE); --- -1.7.8.1 - |