mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
48b42dae51
commit
8109db28bb
21
meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch
Normal file
21
meta/recipes-sato/eds/eds-dbus/new-contact-fix.patch
Normal file
@@ -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);
|
||||
@@ -11,12 +11,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
|
||||
DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical gnome-keyring gperf-native"
|
||||
|
||||
PV = "2.30+git${SRCPV}"
|
||||
PR = "r0"
|
||||
PR = "r1"
|
||||
|
||||
SRC_URI = "git://git.gnome.org/evolution-data-server;protocol=git \
|
||||
file://oh-contact.patch;patch=1;pnum=0 \
|
||||
file://nossl.patch;patch=1 \
|
||||
file://optional_imapx_provider.patch;patch=1 \
|
||||
file://new-contact-fix.patch;patch=1 \
|
||||
file://iconv-detect.h"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Reference in New Issue
Block a user