diff options
author | Milan Crha <mcrha@redhat.com> | 2013-04-19 16:42:35 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2013-04-19 16:42:35 +0800 |
commit | 89b347d3a9bc0bfea35263aeabec1521f0e90a40 (patch) | |
tree | f675990c193e0a8f9af98dff928a25fbec8a3990 | |
parent | d4473cf20a4991400f1ccbaecab8f8a82198a9a8 (diff) | |
download | gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.gz gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.bz2 gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.lz gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.xz gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.tar.zst gsoc2013-evolution-89b347d3a9bc0bfea35263aeabec1521f0e90a40.zip |
Workaround broken Free/Busy fetching (Bug #692361)
-rw-r--r-- | calendar/gui/e-meeting-store.c | 5 | ||||
-rw-r--r-- | plugins/publish-calendar/publish-format-fb.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/calendar/gui/e-meeting-store.c b/calendar/gui/e-meeting-store.c index ae10d60310..6abb1371b5 100644 --- a/calendar/gui/e-meeting-store.c +++ b/calendar/gui/e-meeting-store.c @@ -1567,6 +1567,11 @@ freebusy_async (gpointer data) e_cal_client_get_free_busy_sync ( fbd->client, fbd->startt, fbd->endt, fbd->users, NULL, NULL); + /* 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 + */ + g_usleep (G_USEC_PER_SEC / 10); g_signal_handler_disconnect (fbd->client, sigid); priv->num_queries--; g_mutex_unlock (&mutex); 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; |