diff options
Diffstat (limited to 'meta-gnome/recipes-gnome/eds/evolution-data-server/new-contact-fix.patch')
-rw-r--r-- | meta-gnome/recipes-gnome/eds/evolution-data-server/new-contact-fix.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/meta-gnome/recipes-gnome/eds/evolution-data-server/new-contact-fix.patch b/meta-gnome/recipes-gnome/eds/evolution-data-server/new-contact-fix.patch new file mode 100644 index 000000000..22c293dda --- /dev/null +++ b/meta-gnome/recipes-gnome/eds/evolution-data-server/new-contact-fix.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | When contacts called for the 1st time, adding new contact always failed but | ||
2 | worked after restart. The reason is e-addressbook-factory used to handle | ||
3 | addressbook leads a segmentation fault. Root cause is that factory would create | ||
4 | the data base if not exist, but use it without proper initialization. | ||
5 | |||
6 | This patch fix it. | ||
7 | |||
8 | Upstream-Status: Submitted | ||
9 | |||
10 | Signed-off-by: Edwin Zhai <edwin.zhai@intel.com> | ||
11 | Index: git/addressbook/backends/file/e-book-backend-file.c | ||
12 | =================================================================== | ||
13 | --- git.orig/addressbook/backends/file/e-book-backend-file.c 2010-10-20 16:14:31.000000000 +0800 | ||
14 | +++ git/addressbook/backends/file/e-book-backend-file.c 2010-10-22 14:11:47.000000000 +0800 | ||
15 | @@ -1217,6 +1217,8 @@ | ||
16 | EContact *contact = NULL; | ||
17 | EBookBackendSyncStatus status; | ||
18 | |||
19 | + /* Initialize file_db, or else following do_create cause seg fault */ | ||
20 | + bf->priv->file_db = db; | ||
21 | status = do_create (bf, XIMIAN_VCARD, &contact); | ||
22 | if (status != GNOME_Evolution_Addressbook_Success) | ||
23 | g_warning ("Cannot create default contact: %d", status); | ||