aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/modules/e-cal-shell-sidebar.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/modules/e-cal-shell-sidebar.c')
-rw-r--r--calendar/modules/e-cal-shell-sidebar.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/calendar/modules/e-cal-shell-sidebar.c b/calendar/modules/e-cal-shell-sidebar.c
index 312cb8649c..ee887cecba 100644
--- a/calendar/modules/e-cal-shell-sidebar.c
+++ b/calendar/modules/e-cal-shell-sidebar.c
@@ -172,6 +172,10 @@ cal_shell_sidebar_client_opened_cb (ECalShellSidebar *cal_shell_sidebar,
shell_view = e_shell_sidebar_get_shell_view (shell_sidebar);
shell_window = e_shell_view_get_shell_window (shell_view);
+ if (status == E_CALENDAR_STATUS_AUTHENTICATION_FAILED ||
+ status == E_CALENDAR_STATUS_AUTHENTICATION_REQUIRED)
+ auth_cal_forget_password (client);
+
switch (status) {
case E_CALENDAR_STATUS_OK:
g_signal_handlers_disconnect_matched (
@@ -186,6 +190,10 @@ cal_shell_sidebar_client_opened_cb (ECalShellSidebar *cal_shell_sidebar,
cal_shell_sidebar, NULL);
break;
+ case E_CALENDAR_STATUS_AUTHENTICATION_FAILED:
+ e_cal_open_async (client, FALSE);
+ break;
+
case E_CALENDAR_STATUS_BUSY:
break;