[evolution-data-server/gnome-42] I#380 - CalDAV: Free / Busy not working with Nextcloud
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/gnome-42] I#380 - CalDAV: Free / Busy not working with Nextcloud
- Date: Fri, 18 Mar 2022 08:39:22 +0000 (UTC)
commit e0037801f94902e72a584aa799661d1f1b642b57
Author: Milan Crha <mcrha redhat com>
Date: Fri Mar 18 09:38:04 2022 +0100
I#380 - CalDAV: Free / Busy not working with Nextcloud
Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/380
src/calendar/backends/caldav/e-cal-backend-caldav.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/calendar/backends/caldav/e-cal-backend-caldav.c
b/src/calendar/backends/caldav/e-cal-backend-caldav.c
index 4861476ff..c8aeb8205 100644
--- a/src/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/src/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -199,7 +199,8 @@ ecb_caldav_connect_sync (ECalMetaBackend *meta_backend,
soup_uri = e_source_webdav_dup_soup_uri (webdav_extension);
cbdav->priv->calendar_schedule = e_cal_backend_get_kind (E_CAL_BACKEND (cbdav)) !=
I_CAL_VJOURNAL_COMPONENT &&
- capabilities && g_hash_table_contains (capabilities,
E_WEBDAV_CAPABILITY_CALENDAR_SCHEDULE);
+ (!capabilities || g_hash_table_contains (capabilities,
E_WEBDAV_CAPABILITY_CALENDAR_AUTO_SCHEDULE) ||
+ g_hash_table_contains (capabilities, E_WEBDAV_CAPABILITY_CALENDAR_SCHEDULE));
calendar_access = capabilities && g_hash_table_contains (capabilities,
E_WEBDAV_CAPABILITY_CALENDAR_ACCESS);
if (calendar_access) {
@@ -2211,7 +2212,9 @@ ecb_caldav_get_free_busy_sync (ECalBackendSync *sync_backend,
const GSList *link;
GError *local_error = NULL;
- if (ecb_caldav_get_free_busy_from_schedule_outbox_sync (cbdav, users, start, end,
out_freebusy, cancellable, &local_error)) {
+ /* Finish only if found anything, otherwise re-check with the principals */
+ if (ecb_caldav_get_free_busy_from_schedule_outbox_sync (cbdav, users, start, end,
out_freebusy, cancellable, &local_error) &&
+ out_freebusy && *out_freebusy) {
g_clear_object (&webdav);
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]