aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog7
-rw-r--r--calendar/gui/gnome-cal.c13
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))),