aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-tasks.c6
-rw-r--r--calendar/gui/gnome-cal.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/calendar/gui/e-tasks.c b/calendar/gui/e-tasks.c
index 84a03344df..33e4cdcb78 100644
--- a/calendar/gui/e-tasks.c
+++ b/calendar/gui/e-tasks.c
@@ -964,6 +964,9 @@ client_cal_opened_cb (ECal *ecal, ECalendarStatus status, ETasks *tasks)
priv = tasks->priv;
source = e_cal_get_source (ecal);
+
+ if (status == E_CALENDAR_STATUS_AUTHENTICATION_FAILED)
+ auth_cal_forget_password (ecal);
switch (status) {
case E_CALENDAR_STATUS_OK :
@@ -1010,6 +1013,9 @@ default_client_cal_opened_cb (ECal *ecal, ECalendarStatus status, ETasks *tasks)
source = e_cal_get_source (ecal);
+ if (status == E_CALENDAR_STATUS_AUTHENTICATION_FAILED)
+ auth_cal_forget_password (ecal);
+
switch (status) {
case E_CALENDAR_STATUS_OK :
g_signal_handlers_disconnect_matched (ecal, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, default_client_cal_opened_cb, NULL);
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index e396b879ff..bcd5cda400 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -2642,6 +2642,10 @@ client_cal_opened_cb (ECal *ecal, ECalendarStatus status, GnomeCalendar *gcal)
default:
break;
}
+
+ if (status == E_CALENDAR_STATUS_AUTHENTICATION_FAILED && source_type == E_CAL_SOURCE_TYPE_EVENT)
+ auth_cal_forget_password (ecal);
+
switch (status) {
case E_CALENDAR_STATUS_OK:
break;