diff options
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 7 | ||||
-rw-r--r-- | calendar/gui/gnome-cal.c | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 4e801a8f97..4d3848ede0 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,10 @@ +2007-12-11 Sankar P <psankar@novell.com> + + ** Fix for bug #501969 + + * gui/gnome-cal.c: (client_cal_opened_cb): + Passwords should not be forgotten on all errors + 2007-12-05 Matthew Barnes <mbarnes@redhat.com> ** Fixes part of bug #392747 (extra cleanup work) diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c index 98dc0c566d..e396b879ff 100644 --- a/calendar/gui/gnome-cal.c +++ b/calendar/gui/gnome-cal.c @@ -43,6 +43,8 @@ #include <bonobo/bonobo-exception.h> #include <libedataserver/e-categories.h> #include <libedataserver/e-url.h> +#include <libedataserverui/e-passwords.h> + #include "e-util/e-config-listener.h" #include "shell/e-user-creatable-items-handler.h" #include <libecal/e-cal-time-util.h> @@ -2651,6 +2653,17 @@ client_cal_opened_cb (ECal *ecal, ECalendarStatus status, GnomeCalendar *gcal) e_error_run (NULL, "calendar:server-version", NULL); status = E_CALENDAR_STATUS_OK; break; + case E_CALENDAR_STATUS_AUTHENTICATION_FAILED: + { + const gchar *auth_domain = e_source_get_property (source, "auth-domain"); + const gchar *component_name; + + component_name = auth_domain ? auth_domain : "Calendar"; + + /* Warn the user password is wrong */ + e_passwords_forget_password (component_name, e_cal_get_uri(ecal)); + return; + } case E_CALENDAR_STATUS_REPOSITORY_OFFLINE: if (source_type == E_CAL_SOURCE_TYPE_EVENT) e_error_run (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (gcal))), |