aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2001-01-23 14:34:56 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-01-23 14:34:56 +0800
commit4e6218b86bba68aea073482ec62b645e04f941ab (patch)
tree5806172cd5520e9cf5380790f492573bad80b5a2
parent78fb2fa0edcad3facb7e1f5cab12303b1864e47e (diff)
downloadgsoc2013-evolution-4e6218b86bba68aea073482ec62b645e04f941ab.tar.gz
gsoc2013-evolution-4e6218b86bba68aea073482ec62b645e04f941ab.tar.zst
gsoc2013-evolution-4e6218b86bba68aea073482ec62b645e04f941ab.zip
properly ref the cal component when we use it, prevents double free
2001-01-23 JP Rosevear <jpr@ximian.com> * conduits/todo/todo-conduit.c (local_record_from_comp): properly ref the cal component when we use it, prevents double free * conduits/calendar/calendar-conduit.c (local_record_from_comp): ditto svn path=/trunk/; revision=7741
-rw-r--r--calendar/ChangeLog7
-rw-r--r--calendar/conduits/calendar/calendar-conduit.c3
-rw-r--r--calendar/conduits/todo/todo-conduit.c1
3 files changed, 10 insertions, 1 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 76f1f01b9c..8eadcfec22 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,10 @@
+2001-01-23 JP Rosevear <jpr@ximian.com>
+
+ * conduits/todo/todo-conduit.c (local_record_from_comp): properly ref
+ the cal component when we use it, prevents double free
+
+ * conduits/calendar/calendar-conduit.c (local_record_from_comp): ditto
+
2001-01-22 JP Rosevear <jpr@ximian.com>
* gui/dialogs/Makefile.am: compile new stuff
diff --git a/calendar/conduits/calendar/calendar-conduit.c b/calendar/conduits/calendar/calendar-conduit.c
index 35ea44145b..1df6a2c8fd 100644
--- a/calendar/conduits/calendar/calendar-conduit.c
+++ b/calendar/conduits/calendar/calendar-conduit.c
@@ -375,7 +375,8 @@ local_record_from_comp (ECalLocalRecord *local, CalComponent *comp, ECalConduitC
g_return_if_fail (comp != NULL);
local->comp = comp;
-
+ gtk_object_ref (GTK_OBJECT (comp));
+
cal_component_get_uid (local->comp, &uid);
local->local.ID = e_pilot_map_lookup_pid (ctxt->map, uid);
compute_status (ctxt, local, uid);
diff --git a/calendar/conduits/todo/todo-conduit.c b/calendar/conduits/todo/todo-conduit.c
index 17e51d106a..482737c4a5 100644
--- a/calendar/conduits/todo/todo-conduit.c
+++ b/calendar/conduits/todo/todo-conduit.c
@@ -328,6 +328,7 @@ local_record_from_comp (EToDoLocalRecord *local, CalComponent *comp, EToDoCondui
g_return_if_fail (comp != NULL);
local->comp = comp;
+ gtk_object_ref (GTK_OBJECT (comp));
cal_component_get_uid (local->comp, &uid);
local->local.ID = e_pilot_map_lookup_pid (ctxt->map, uid);