summaryrefslogtreecommitdiff
path: root/calendar/backends/gtasks/e-cal-backend-gtasks.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/backends/gtasks/e-cal-backend-gtasks.c')
-rw-r--r--calendar/backends/gtasks/e-cal-backend-gtasks.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/calendar/backends/gtasks/e-cal-backend-gtasks.c b/calendar/backends/gtasks/e-cal-backend-gtasks.c
index 23ca79d54..073596702 100644
--- a/calendar/backends/gtasks/e-cal-backend-gtasks.c
+++ b/calendar/backends/gtasks/e-cal-backend-gtasks.c
@@ -443,6 +443,10 @@ ecb_gtasks_update_thread (gpointer user_data)
feed = gdata_tasks_service_query_tasks (gtasks->priv->service, gtasks->priv->tasklist,
GDATA_QUERY (tasks_query), cancellable, NULL, NULL, &local_error);
+
+ if (!local_error)
+ e_backend_ensure_source_status_connected (E_BACKEND (gtasks));
+
if (feed) {
GList *link;
const gchar *uid;
@@ -565,6 +569,10 @@ ecb_gtasks_start_update (ECalBackendGTasks *gtasks)
/* Check whether the tasklist changed */
feed = gdata_tasks_service_query_all_tasklists (gtasks->priv->service, NULL, cancellable, NULL, NULL, &local_error);
+
+ if (!local_error)
+ e_backend_ensure_source_status_connected (E_BACKEND (gtasks));
+
if (feed) {
GList *link;
@@ -1098,6 +1106,9 @@ ecb_gtasks_modify_objects (ECalBackend *backend,
new_task = gdata_tasks_service_update_task (gtasks->priv->service, comp_task, cancellable, &local_error);
g_object_unref (comp_task);
+ if (!local_error)
+ e_backend_ensure_source_status_connected (E_BACKEND (backend));
+
if (!new_task) {
g_object_unref (cached_comp);
break;
@@ -1185,6 +1196,9 @@ ecb_gtasks_remove_objects (ECalBackend *backend,
break;
}
+ if (!local_error)
+ e_backend_ensure_source_status_connected (E_BACKEND (backend));
+
g_clear_error (&local_error);
g_object_unref (task);