diff options
author | Chenthill Palanisamy <pchenthill@novell.com> | 2007-08-17 15:46:35 +0800 |
---|---|---|
committer | Chenthill Palanisamy <pchen@src.gnome.org> | 2007-08-17 15:46:35 +0800 |
commit | 18c39ea2cabf9d7611d8f2320df4342256ba720a (patch) | |
tree | 45a8204dd29aad5f23ca2bf8cc5f691200475830 /calendar/gui/e-meeting-store.c | |
parent | 03799599ca20ba1218efa6564494a381863b0da7 (diff) | |
download | gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.gz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.bz2 gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.lz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.xz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.zst gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.zip |
Fixes #274070 (bnc)
2007-08-17 Chenthill Palanisamy <pchenthill@novell.com>
Fixes #274070 (bnc)
* gui/e-meeting-attendee.[ch]: (e_meeting_attendee_finalize),
(e_meeting_attendee_get_fburi), (e_meeting_attendee_set_fburi):
* gui/e-meeting-list-view.c: (process_section):
* gui/e-meeting-store.c: (freebusy_async), (start_async_read):
If the contact has a free busy url specified with it, use it to
show free busy information.
svn path=/trunk/; revision=34021
Diffstat (limited to 'calendar/gui/e-meeting-store.c')
-rw-r--r-- | calendar/gui/e-meeting-store.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/calendar/gui/e-meeting-store.c b/calendar/gui/e-meeting-store.c index e9a083fe89..db8803277f 100644 --- a/calendar/gui/e-meeting-store.c +++ b/calendar/gui/e-meeting-store.c @@ -1150,9 +1150,11 @@ freebusy_async (gpointer data) { FreeBusyAsyncData *fbd = data; EMeetingAttendee *attendee = fbd->attendee; - gchar *default_fb_uri; + gchar *default_fb_uri = NULL; + const char *fburi = NULL; static GStaticMutex mutex = G_STATIC_MUTEX_INIT; EMeetingStorePrivate *priv = fbd->store->priv; + GnomeVFSAsyncHandle *handle; if (fbd->client) { /* FIXME this a work around for getting all th free busy information for the users @@ -1184,13 +1186,17 @@ freebusy_async (gpointer data) return TRUE; } - - /* Check for free busy info on the default server */ default_fb_uri = g_strdup (fbd->fb_uri); + fburi = g_strdup (e_meeting_attendee_get_fburi (attendee)); - if (default_fb_uri != NULL && !g_str_equal (default_fb_uri, "")) { - GnomeVFSAsyncHandle *handle; + if (fburi) { + priv->num_queries++; + gnome_vfs_async_open (&handle, fburi, GNOME_VFS_OPEN_READ, + GNOME_VFS_PRIORITY_DEFAULT, start_async_read, + fbd->qdata); + g_free (fburi); + } else if (default_fb_uri != NULL && !g_str_equal (default_fb_uri, "")) { gchar *tmp_fb_uri; gchar **split_email; @@ -1204,7 +1210,6 @@ freebusy_async (gpointer data) gnome_vfs_async_open (&handle, default_fb_uri, GNOME_VFS_OPEN_READ, GNOME_VFS_PRIORITY_DEFAULT, start_async_read, fbd->qdata); - priv->num_queries--; g_free (tmp_fb_uri); g_strfreev (split_email); @@ -1214,8 +1219,6 @@ freebusy_async (gpointer data) } return TRUE; - - } #undef USER_SUB @@ -1431,6 +1434,7 @@ start_async_read (GnomeVFSAsyncHandle *handle, EMeetingStoreQueueData *qdata = data; GnomeVFSFileSize buf_size = BUF_SIZE - 1; + qdata->store->priv->num_queries--; if (result != GNOME_VFS_OK) { g_warning ("Unable to access free/busy url: %s", gnome_vfs_result_to_string (result)); |