aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/conduits
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 /calendar/conduits
parent7b7e770d3077b8e85ab2d746fb78284e53fb9ea5 (diff)
downloadgsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.gz
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.bz2
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.lz
gsoc2013-evolution-dd8e931c582b1deb5d16684696e5590e39ed8832.tar.xz
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 'calendar/conduits')
-rw-r--r--calendar/conduits/calendar/calendar-conduit.c2
-rw-r--r--calendar/conduits/memo/memo-conduit.c2
-rw-r--r--calendar/conduits/todo/todo-conduit.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/calendar/conduits/calendar/calendar-conduit.c b/calendar/conduits/calendar/calendar-conduit.c
index 29cb398cb3..5d610132a3 100644
--- a/calendar/conduits/calendar/calendar-conduit.c
+++ b/calendar/conduits/calendar/calendar-conduit.c
@@ -2016,6 +2016,8 @@ free_match (GnomePilotConduitSyncAbs *conduit,
g_return_val_if_fail (local != NULL, -1);
+ ctxt->locals = g_list_remove (ctxt->locals, local);
+
calconduit_destroy_record (local);
return 0;
diff --git a/calendar/conduits/memo/memo-conduit.c b/calendar/conduits/memo/memo-conduit.c
index f09abc94b3..1a9638b0ce 100644
--- a/calendar/conduits/memo/memo-conduit.c
+++ b/calendar/conduits/memo/memo-conduit.c
@@ -1302,6 +1302,8 @@ free_match (GnomePilotConduitSyncAbs *conduit,
g_return_val_if_fail (local != NULL, -1);
+ ctxt->locals = g_list_remove (ctxt->locals, local);
+
memoconduit_destroy_record (local);
return 0;
diff --git a/calendar/conduits/todo/todo-conduit.c b/calendar/conduits/todo/todo-conduit.c
index feee558e5d..de93956d18 100644
--- a/calendar/conduits/todo/todo-conduit.c
+++ b/calendar/conduits/todo/todo-conduit.c
@@ -1487,6 +1487,8 @@ free_match (GnomePilotConduitSyncAbs *conduit,
g_return_val_if_fail (local != NULL, -1);
+ ctxt->locals = g_list_remove (ctxt->locals, local);
+
todoconduit_destroy_record (local);
return 0;