diff options
-rw-r--r-- | addressbook/ChangeLog | 7 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook.c | 5 | ||||
-rw-r--r-- | calendar/ChangeLog | 7 | ||||
-rw-r--r-- | calendar/gui/gnome-cal.c | 13 |
4 files changed, 31 insertions, 1 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 5a746eaaa1..3abca21cf5 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,10 @@ +2007-12-11 Sankar P <psankar@novell.com> + + ** Fix for bug #501969 + + * gui/component/addressbook.c: (load_source_auth_cb): + Passwords should not be forgotten on all errors + 2007-12-06 David Turner <cillian64@googlemail.com> ** Fix for bug #468277 diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index 898ce692d9..0649b02f43 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -120,7 +120,10 @@ load_source_auth_cb (EBook *book, EBookStatus status, gpointer closure) component_name = auth_domain ? auth_domain : "Addressbook"; - e_passwords_forget_password (component_name, stripped_uri); + if (status == E_BOOK_ERROR_AUTHENTICATION_FAILED) { + e_passwords_forget_password (component_name, stripped_uri); + } + addressbook_authenticate (book, TRUE, data->source, load_source_auth_cb, closure); g_free (stripped_uri); 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))), |