From 0943a0e436c7510c39d86ab7a72a4ebbd3a876ac Mon Sep 17 00:00:00 2001
From: Rodrigo Moya <rodrigo@novell.com>
Date: Thu, 7 Oct 2004 14:20:55 +0000
Subject: Fixes #65932

2004-10-06  Rodrigo Moya <rodrigo@novell.com>

	Fixes #65932

	* common/authentication.c: keep a hash table of all the source lists.
	(auth_new_cal_from_uri): do a search in the source list for the given
	URI, and use that ESource if we find it. Also, keep the hash table of
	source lists up to date.

	* gui/comp-editor-factory.c (cal_opened_cb): don't assert on error
	cases, just display an error dialog.

svn path=/trunk/; revision=27498
---
 calendar/gui/comp-editor-factory.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

(limited to 'calendar/gui')

diff --git a/calendar/gui/comp-editor-factory.c b/calendar/gui/comp-editor-factory.c
index de6d45968f..71470ee648 100644
--- a/calendar/gui/comp-editor-factory.c
+++ b/calendar/gui/comp-editor-factory.c
@@ -404,16 +404,12 @@ cal_opened_cb (ECal *client, ECalendarStatus status, gpointer data)
 		return;
 
 	case E_CALENDAR_STATUS_OTHER_ERROR:
+	case E_CALENDAR_STATUS_NO_SUCH_CALENDAR:
 		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
 						 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
 						 _("Error while opening the calendar"));
 		break;
 
-	case E_CALENDAR_STATUS_NO_SUCH_CALENDAR:
-		/* oops - we specified only_if_exists = FALSE */
-		g_assert_not_reached ();
-		return;
-
 	case E_CALENDAR_STATUS_PROTOCOL_NOT_SUPPORTED:
 		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
 						 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
@@ -425,9 +421,17 @@ cal_opened_cb (ECal *client, ECalendarStatus status, gpointer data)
 						 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
 						 _("Permission denied to open the calendar"));
 		break;
-		
+
+	case E_CALENDAR_STATUS_AUTHENTICATION_FAILED :
+		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+						 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
+						 _("Authentication Failed"));
+		break;
+
 	default:
-		g_assert_not_reached ();
+		dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+						 GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
+						 _("Unknown error"));
 		return;
 	}
 
-- 
cgit