aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMilan Crha <mcrha@src.gnome.org>2007-10-01 15:44:05 +0800
committerMilan Crha <mcrha@src.gnome.org>2007-10-01 15:44:05 +0800
commit67250759b59c1cfd3e9ffdedf62b3fcc9408c211 (patch)
tree552f0a16a1f410bdf61cf11ed1f1dc6373ffe557 /calendar
parent203034b3f4c0869197c2195c87e14675e6db5f69 (diff)
downloadgsoc2013-evolution-67250759b59c1cfd3e9ffdedf62b3fcc9408c211.tar.gz
gsoc2013-evolution-67250759b59c1cfd3e9ffdedf62b3fcc9408c211.tar.zst
gsoc2013-evolution-67250759b59c1cfd3e9ffdedf62b3fcc9408c211.zip
2007-10-01 mcrha Fix for bug #428402
svn path=/trunk/; revision=34341
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog12
-rw-r--r--calendar/gui/e-itip-control.c6
-rw-r--r--calendar/importers/icalendar-importer.c8
3 files changed, 20 insertions, 6 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index ca17af6e3c..44954fc8e0 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,17 @@
2007-10-01 Milan Crha <mcrha@redhat.com>
+ ** Fix for bug #428402
+
+ * gui/e-itip-control.c: (show_current): First move to next component,
+ then remove last alarm and then free that last component.
+
+ * gui/e-itip-control.c: (update_item): Free component when done.
+
+ * importers/icalendar-importer.c: (prepare_events), (prepare_tasks):
+ Really go through every component when removing one.
+
+2007-10-01 Milan Crha <mcrha@redhat.com>
+
** Fix for bug #342283
* gui/calendar-commands.h: (calendar_command_print): New function.
diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c
index 55814fd45d..8e408604fb 100644
--- a/calendar/gui/e-itip-control.c
+++ b/calendar/gui/e-itip-control.c
@@ -1567,9 +1567,10 @@ show_current (EItipControl *itip)
/* Strip out alarms for security purposes */
alarm_iter = icalcomponent_begin_component (priv->ical_comp, ICAL_VALARM_COMPONENT);
while ((alarm_comp = icalcompiter_deref (&alarm_iter)) != NULL) {
- icalcomponent_remove_component (priv->ical_comp, alarm_comp);
-
icalcompiter_next (&alarm_iter);
+
+ icalcomponent_remove_component (priv->ical_comp, alarm_comp);
+ icalcomponent_free (alarm_comp);
}
priv->comp = e_cal_component_new ();
@@ -1946,6 +1947,7 @@ update_item (EItipControl *itip)
gtk_widget_destroy (dialog);
icalcomponent_remove_component (priv->top_level, clone);
+ icalcomponent_free (clone);
}
static void
diff --git a/calendar/importers/icalendar-importer.c b/calendar/importers/icalendar-importer.c
index 4fd4d9e447..cbdbb70ded 100644
--- a/calendar/importers/icalendar-importer.c
+++ b/calendar/importers/icalendar-importer.c
@@ -119,9 +119,9 @@ prepare_events (icalcomponent *icalcomp, GList **vtodos)
*vtodos = g_list_prepend (*vtodos, subcomp);
else
icalcomponent_free (subcomp);
+ } else {
+ icalcompiter_next (&iter);
}
-
- icalcompiter_next (&iter);
}
}
@@ -143,9 +143,9 @@ prepare_tasks (icalcomponent *icalcomp, GList *vtodos)
icalcompiter_next (&iter);
icalcomponent_remove_component (icalcomp, subcomp);
icalcomponent_free (subcomp);
+ } else {
+ icalcompiter_next (&iter);
}
-
- icalcompiter_next (&iter);
}
for (elem = vtodos; elem; elem = elem->next) {