aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/publish-calendar/publish-format-fb.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2013-04-19 16:42:35 +0800
committerMilan Crha <mcrha@redhat.com>2013-04-19 16:42:35 +0800
commit89b347d3a9bc0bfea35263aeabec1521f0e90a40 (patch)
treef675990c193e0a8f9af98dff928a25fbec8a3990 /plugins/publish-calendar/publish-format-fb.c
parentd4473cf20a4991400f1ccbaecab8f8a82198a9a8 (diff)
downloadgsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.gz
gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.zst
gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.zip
Workaround broken Free/Busy fetching (Bug #692361)
Diffstat (limited to 'plugins/publish-calendar/publish-format-fb.c')
-rw-r--r--plugins/publish-calendar/publish-format-fb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/publish-calendar/publish-format-fb.c b/plugins/publish-calendar/publish-format-fb.c
index 9ead6efe0f..c062994720 100644
--- a/plugins/publish-calendar/publish-format-fb.c
+++ b/plugins/publish-calendar/publish-format-fb.c
@@ -117,6 +117,16 @@ write_calendar (const gchar *uid,
if (e_cal_client_get_free_busy_sync (E_CAL_CLIENT (client), start, end, users, NULL, error)) {
gchar *ical_string;
GSList *iter;
+ gboolean done = FALSE;
+
+ /* This is to workaround broken dispatch of "free-busy-data" signal,
+ introduced in 3.8.0. This code can be removed once the below bug is
+ properly fixed: https://bugzilla.gnome.org/show_bug.cgi?id=692361
+ */
+ while (!done) {
+ g_usleep (G_USEC_PER_SEC / 10);
+ done = !g_main_context_iteration (NULL, FALSE);
+ }
for (iter = objects; iter; iter = iter->next) {
ECalComponent *comp = iter->data;