diff options
author | Zhai Edwin <edwin.zhai@intel.com> | 2010-10-22 17:11:26 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-22 17:00:25 +0100 |
commit | 8109db28bba57dd31502b4d1c6bc8c107383eefa (patch) | |
tree | 7ed0646636ef065cf7d4b5c1576e07973bc20102 /meta/recipes-sato/eds/eds-dbus | |
parent | 48b42dae5115ef321dfddcf570ae517c3874c4b9 (diff) | |
download | openembedded-core-8109db28bba57dd31502b4d1c6bc8c107383eefa.tar.gz openembedded-core-8109db28bba57dd31502b4d1c6bc8c107383eefa.tar.bz2 openembedded-core-8109db28bba57dd31502b4d1c6bc8c107383eefa.tar.xz openembedded-core-8109db28bba57dd31502b4d1c6bc8c107383eefa.zip |
Fix adding new contact failure when starting contacts for the 1st time
When contacts called for the 1st time, adding new contact always failed but
worked after restart. The reason is e-addressbook-factory used to handle
addressbook leads a segmentation fault. Root cause is that factory would
create the data base if not exist, but use it without proper
initialization.
[BUGID #455] got fixed by this.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Diffstat (limited to 'meta/recipes-sato/eds/eds-dbus')
-rw-r--r-- | meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch b/meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch new file mode 100644 index 000000000..d34cc551f --- /dev/null +++ b/meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch @@ -0,0 +1,21 @@ +When contacts called for the 1st time, adding new contact always failed but +worked after restart. The reason is e-addressbook-factory used to handle +addressbook leads a segmentation fault. Root cause is that factory would create +the data base if not exist, but use it without proper initialization. + +This patch fix it. + +Signed-off-by: Edwin Zhai <edwin.zhai@intel.com> +Index: git/addressbook/backends/file/e-book-backend-file.c +=================================================================== +--- git.orig/addressbook/backends/file/e-book-backend-file.c 2010-10-20 16:14:31.000000000 +0800 ++++ git/addressbook/backends/file/e-book-backend-file.c 2010-10-22 14:11:47.000000000 +0800 +@@ -1217,6 +1217,8 @@ + EContact *contact = NULL; + EBookBackendSyncStatus status; + ++ /* Initialize file_db, or else following do_create cause seg fault */ ++ bf->priv->file_db = db; + status = do_create (bf, XIMIAN_VCARD, &contact); + if (status != GNOME_Evolution_Addressbook_Success) + g_warning ("Cannot create default contact: %d", status); |