diff options
-rw-r--r-- | calendar/ChangeLog | 7 | ||||
-rw-r--r-- | calendar/conduits/calendar/calendar-conduit.c | 3 | ||||
-rw-r--r-- | calendar/conduits/todo/todo-conduit.c | 1 |
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); |