aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);