aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2003-04-20 06:18:16 +0800
committerChris Toshok <toshok@src.gnome.org>2003-04-20 06:18:16 +0800
commit1cbbf5ab2299d70afdffdd584562fd8650409693 (patch)
treee853bd7f5928002d5701206d449c197ad96f9b83 /addressbook/backend
parenta17a25e3496d7ce1bbd57a763076c446b78bdb70 (diff)
downloadgsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar.gz
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar.bz2
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar.lz
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar.xz
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.tar.zst
gsoc2013-evolution-1cbbf5ab2299d70afdffdd584562fd8650409693.zip
[ fixes bug #40954 ] guard against NULL bf->priv->summary (happens if the
2003-04-19 Chris Toshok <toshok@ximian.com> [ fixes bug #40954 ] * backend/pas/pas-backend-file.c (pas_backend_file_dispose): guard against NULL bf->priv->summary (happens if the initial load_uri failed). (pas_backend_file_load_uri): always set bf->priv->uri, since it's used in _get_uri, which is called when the backend goes away. This only happened before if you tried to load a folder that didn't exist. svn path=/trunk/; revision=20898
Diffstat (limited to 'addressbook/backend')
-rw-r--r--addressbook/backend/pas/pas-backend-file.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c
index 06eb84cc4e..b11c62cb86 100644
--- a/addressbook/backend/pas/pas-backend-file.c
+++ b/addressbook/backend/pas/pas-backend-file.c
@@ -395,8 +395,7 @@ pas_backend_file_search_timeout (gpointer data)
while (db_error == 0) {
/* don't include the version in the list of cards */
- if (id_dbt.size != file_version_name_len+1
- || strcmp (id_dbt.data, PAS_BACKEND_FILE_VERSION_NAME)) {
+ if (strcmp (id_dbt.data, PAS_BACKEND_FILE_VERSION_NAME)) {
char *vcard_string = vcard_dbt.data;
/* check if the vcard matches the search sexp */
@@ -1378,6 +1377,9 @@ pas_backend_file_load_uri (PASBackend *backend,
struct stat sb;
char *summary_filename;
+ g_free(bf->priv->uri);
+ bf->priv->uri = g_strdup (uri);
+
db_version (&major, &minor, &patch);
if (major != 3 ||
@@ -1450,9 +1452,6 @@ pas_backend_file_load_uri (PASBackend *backend,
return GNOME_Evolution_Addressbook_BookListener_OtherError;
}
- g_free(bf->priv->uri);
- bf->priv->uri = g_strdup (uri);
-
g_free (bf->priv->filename);
bf->priv->filename = filename;
@@ -1536,7 +1535,8 @@ pas_backend_file_dispose (GObject *object)
if (bf->priv) {
g_object_unref(bf->priv->book_views);
- g_object_unref(bf->priv->summary);
+ if (bf->priv->summary)
+ g_object_unref(bf->priv->summary);
g_free (bf->priv->uri);
g_free (bf->priv->filename);