[evolution-patches] [Addressbook] Fix for 332136
- From: "simon.zheng" <Simon Zheng Sun COM>
- To: evolution-patches gnome org
- Subject: [evolution-patches] [Addressbook] Fix for 332136
- Date: Thu, 02 Mar 2006 16:57:30 +0800
Hi guys,
Bug 332136 - Evolution fails to import contacts from a file into an
addressbook if the addressbook is never opened.
http://bugzilla.gnome.org/show_bug.cgi?id=332136
Property writable is changed only after the corresponding backend source
is loaded. This's usually happened after invoking e_book_open(). So Move
the permission verfication after e_book_open().
Sending patch for review.
Thanks,
-Simon
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.2059
diff -u -p -r1.2059 ChangeLog
--- ChangeLog 28 Feb 2006 08:20:18 -0000 1.2059
+++ ChangeLog 2 Mar 2006 08:37:03 -0000
@@ -1,3 +1,13 @@
+2006-03-02 Simon Zheng <simon zheng sun com>
+
+ Fix for #332136
+
+ * importers/evolution-ldif-importer.c: (ldif_import):
+ * importers/evolution-vcard-importer.c: (vcard_import):
+ Property Writable is changed only when corresponding backend is loaded.
+ This's usually happened after invoking e_book_open(). Move the permission
+ verfication after e_book_open().
+
2006-02-28 Devashish Sharma <sdevashish novell com>
* gui/contact-editor/e-contact-editor.c (extract_simple_field): Fix for Bug
Index: importers/evolution-ldif-importer.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/importers/evolution-ldif-importer.c,v
retrieving revision 1.17
diff -u -p -r1.17 evolution-ldif-importer.c
--- importers/evolution-ldif-importer.c 14 Dec 2005 12:14:51 -0000 1.17
+++ importers/evolution-ldif-importer.c 2 Mar 2006 08:37:03 -0000
@@ -702,13 +702,6 @@ ldif_import(EImport *ei, EImportTarget *
return;
}
- if (!e_book_is_writable (book)) {
- g_message(G_STRLOC ":Book is readonly");
- e_import_complete(ei, target);
- g_object_unref(book);
- return;
- }
-
filename = g_filename_from_uri(s->uri_src, NULL, NULL);
if (filename != NULL) {
file = g_fopen(filename, "r");
@@ -733,6 +726,13 @@ ldif_import(EImport *ei, EImportTarget *
gci->dn_contact_hash = g_hash_table_new(g_str_hash, g_str_equal);
e_book_open(gci->book, TRUE, NULL);
+
+ if (!e_book_is_writable (book)) {
+ g_message(G_STRLOC ":Book is readonly");
+ e_import_complete(ei, target);
+ g_object_unref(book);
+ return;
+ }
gci->idle_id = g_idle_add(ldif_import_contacts, gci);
}
Index: importers/evolution-vcard-importer.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/importers/evolution-vcard-importer.c,v
retrieving revision 1.17
diff -u -p -r1.17 evolution-vcard-importer.c
--- importers/evolution-vcard-importer.c 17 Dec 2005 12:02:26 -0000 1.17
+++ importers/evolution-vcard-importer.c 2 Mar 2006 08:37:03 -0000
@@ -481,13 +481,6 @@ vcard_import(EImport *ei, EImportTarget
return;
}
- if (!e_book_is_writable (book)) {
- g_message (G_STRLOC ":Book is readonly.");
- e_import_complete(ei, target);
- g_object_unref(book);
- return;
- }
-
if (!g_file_get_contents (filename, &contents, NULL, NULL)) {
g_message (G_STRLOC ":Couldn't read file.");
g_free (filename);
@@ -504,6 +497,13 @@ vcard_import(EImport *ei, EImportTarget
gci->book = book;
e_book_open (gci->book, TRUE, NULL);
+
+ if (!e_book_is_writable (book)) {
+ g_message (G_STRLOC ":Book is readonly.");
+ e_import_complete(ei, target);
+ g_object_unref(book);
+ return;
+ }
if (encoding == VCARD_ENCODING_UTF16) {
gchar *tmp;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]