[evolution] Bug #664370 - Crash when putting same component into icalcomponent



commit ea4c16fdadd48c89bfedf04972b10674e70fcca9
Author: Kai Juse <level21 gmx ch>
Date:   Thu Jan 5 14:22:04 2012 +0100

    Bug #664370 - Crash when putting same component into icalcomponent

 plugins/publish-calendar/publish-format-fb.c   |    4 ++--
 plugins/publish-calendar/publish-format-ical.c |    2 +-
 plugins/save-calendar/ical-format.c            |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/plugins/publish-calendar/publish-format-fb.c b/plugins/publish-calendar/publish-format-fb.c
index b818a58..b5895ae 100644
--- a/plugins/publish-calendar/publish-format-fb.c
+++ b/plugins/publish-calendar/publish-format-fb.c
@@ -116,8 +116,8 @@ write_calendar (const gchar *uid,
 		GSList *iter;
 
 		for (iter = objects; iter; iter = iter->next) {
-			ECalComponent *comp = objects->data;
-			icalcomponent *icalcomp = e_cal_component_get_icalcomponent (comp);
+			ECalComponent *comp = iter->data;
+			icalcomponent *icalcomp = icalcomponent_new_clone (e_cal_component_get_icalcomponent (comp));
 			icalcomponent_add_component (top_level, icalcomp);
 		}
 
diff --git a/plugins/publish-calendar/publish-format-ical.c b/plugins/publish-calendar/publish-format-ical.c
index 82b3898..4d110ae 100644
--- a/plugins/publish-calendar/publish-format-ical.c
+++ b/plugins/publish-calendar/publish-format-ical.c
@@ -110,7 +110,7 @@ write_calendar (const gchar *uid,
 		tdata.client = client;
 
 		for (iter = objects; iter; iter = iter->next) {
-			icalcomponent *icalcomp = objects->data;
+			icalcomponent *icalcomp = icalcomponent_new_clone (iter->data);
 			icalcomponent_foreach_tzid (icalcomp, insert_tz_comps, &tdata);
 			icalcomponent_add_component (top_level, icalcomp);
 		}
diff --git a/plugins/save-calendar/ical-format.c b/plugins/save-calendar/ical-format.c
index 1be8ff1..bf0a8db 100644
--- a/plugins/save-calendar/ical-format.c
+++ b/plugins/save-calendar/ical-format.c
@@ -128,7 +128,7 @@ do_save_calendar_ical (FormatHandler *handler,
 		tdata.client = source_client;
 
 		for (iter = objects; iter; iter = iter->next) {
-			icalcomponent *icalcomp = iter->data;
+			icalcomponent *icalcomp = icalcomponent_new_clone (iter->data);
 
 			icalcomponent_foreach_tzid (icalcomp, insert_tz_comps, &tdata);
 			icalcomponent_add_component (top_level, icalcomp);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]