aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
authorSuman Manjunath <msuman@src.gnome.org>2008-07-13 20:53:53 +0800
committerSuman Manjunath <msuman@src.gnome.org>2008-07-13 20:53:53 +0800
commitdd8e931c582b1deb5d16684696e5590e39ed8832 (patch)
treee4c9f343e8f829ded85db5c1ea1a4b6110bb4024 /addressbook
parent7b7e770d3077b8e85ab2d746fb78284e53fb9ea5 (diff)
downloadgsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.gz
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.zst
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.zip
Patch from Keith Packard <keithp@keithp.com>: Fix for bug #541355 (Remove freed objects from the 'locals' list in each conduit which otherwise frees them again when the conduit is closed.)
svn path=/trunk/; revision=35742
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog10
-rw-r--r--addressbook/conduit/address-conduit.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index c3432bf9d5..c62f154be6 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,13 @@
+2008-07-13 Keith Packard <keithp@keithp.com>
+
+ ** Fix for bug #541355
+
+ * conduit/address-conduit.c:
+ The pilot link code does call free_match on data returned from the
+ for_each method, which the evolution conduits aren't prepared to
+ handle. This patch removes any freed objects from the 'locals' list in
+ each conduit which otherwise frees them again when the conduit is closed.
+
2008-07-03 Milan Crha <mcrha@redhat.com>
** Fix for bug #540152
diff --git a/addressbook/conduit/address-conduit.c b/addressbook/conduit/address-conduit.c
index 1e746ffa71..b88a85eb96 100644
--- a/addressbook/conduit/address-conduit.c
+++ b/addressbook/conduit/address-conduit.c
@@ -1774,6 +1774,8 @@ free_match (GnomePilotConduitSyncAbs *conduit,
g_return_val_if_fail (local != NULL, -1);
+ ctxt->locals = g_list_remove (ctxt->locals, local);
+
addrconduit_destroy_record (local);
return 0;