aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog11
-rw-r--r--addressbook/gui/component/addressbook.c12
2 files changed, 16 insertions, 7 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 2f809985d4..bfc3209e82 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,14 @@
+2005-04-04 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook.c (load_source_auth_cb)
+ (addressbook_authenticate) : get the uri from Ebook
+ instead of Esource. e_source_get_uri returns NULL when
+ it does not have a reference to source group with it
+ which happens when the source list from which this source
+ was taken is destroyed but Ebook has reference to that source.
+ e_book_get_uri returns the same uri and it will be always present
+ Fixes #73330
+
2005-04-03 Sivaiah Nallagatla <snallagatla@novell.com>
* gui/widgets/eab-gui-util.c (do_copy) :
diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c
index 4e5ad6ac8e..fa1fd8fb60 100644
--- a/addressbook/gui/component/addressbook.c
+++ b/addressbook/gui/component/addressbook.c
@@ -36,6 +36,7 @@
static void addressbook_authenticate (EBook *book, gboolean previous_failure,
ESource *source, EBookCallback cb, gpointer closure);
+static void auth_required_cb (EBook *book, gpointer data);
typedef struct {
EBookCallback cb;
@@ -56,7 +57,7 @@ free_load_source_data (LoadSourceData *data)
in uri*/
static gchar*
-remove_parameters_from_uri (gchar *uri)
+remove_parameters_from_uri (const gchar *uri)
{
gchar **components;
gchar *new_uri = NULL;
@@ -112,7 +113,7 @@ load_source_auth_cb (EBook *book, EBookStatus status, gpointer closure)
return;
} else {
- gchar *uri = e_source_get_uri (data->source);
+ const gchar *uri = e_book_get_uri (book);
gchar *stripped_uri = remove_parameters_from_uri (uri);
const gchar *auth_domain = e_source_get_property (data->source, "auth-domain");
const gchar *component_name;
@@ -123,7 +124,6 @@ load_source_auth_cb (EBook *book, EBookStatus status, gpointer closure)
addressbook_authenticate (book, TRUE, data->source, load_source_auth_cb, closure);
g_free (stripped_uri);
- g_free (uri);
return;
}
}
@@ -161,13 +161,12 @@ addressbook_authenticate (EBook *book, gboolean previous_failure, ESource *sourc
char *pass_dup = NULL;
const gchar *auth;
const gchar *user;
- gchar *uri = e_source_get_uri (source);
+ const gchar *uri = e_book_get_uri (book);
gchar *stripped_uri = remove_parameters_from_uri (uri);
const gchar *auth_domain = e_source_get_property (source, "auth-domain");
const gchar *component_name;
component_name = auth_domain ? auth_domain : "Addressbook";
- g_free (uri);
uri = stripped_uri;
password = e_passwords_get_password (component_name, uri);
@@ -222,8 +221,7 @@ addressbook_authenticate (EBook *book, gboolean previous_failure, ESource *sourc
}
else {
/* they hit cancel */
-
- cb (book, E_BOOK_ERROR_CANCELLED, closure);
+ cb (book, E_BOOK_ERROR_CANCELLED, closure);
}
g_free (uri);