aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-store.c
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchenthill@novell.com>2007-08-17 15:46:35 +0800
committerChenthill Palanisamy <pchen@src.gnome.org>2007-08-17 15:46:35 +0800
commit18c39ea2cabf9d7611d8f2320df4342256ba720a (patch)
tree45a8204dd29aad5f23ca2bf8cc5f691200475830 /calendar/gui/e-meeting-store.c
parent03799599ca20ba1218efa6564494a381863b0da7 (diff)
downloadgsoc2013-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.c20
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));