[evolution] Bug #656810 - Too strict checking for validity of received calendars



commit 59c61f49856291cc6cfd821533da16848d4a1e06
Author: Milan Crha <mcrha redhat com>
Date:   Thu Aug 18 17:29:42 2011 +0200

    Bug #656810 - Too strict checking for validity of received calendars

 calendar/gui/itip-utils.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/calendar/gui/itip-utils.c b/calendar/gui/itip-utils.c
index 02042d2..19f0161 100644
--- a/calendar/gui/itip-utils.c
+++ b/calendar/gui/itip-utils.c
@@ -2026,8 +2026,22 @@ check_time (const struct icaltimetype tmval,
 gboolean
 is_icalcomp_valid (icalcomponent *icalcomp)
 {
-	return  icalcomp &&
-		icalcomponent_is_valid (icalcomp) &&
-		check_time (icalcomponent_get_dtstart (icalcomp), FALSE) &&
-		check_time (icalcomponent_get_dtend (icalcomp), TRUE);
+	if (!icalcomp || !icalcomponent_is_valid (icalcomp))
+		return FALSE;
+
+	switch (icalcomponent_isa (icalcomp)) {
+	case ICAL_VEVENT_COMPONENT:
+		return	check_time (icalcomponent_get_dtstart (icalcomp), FALSE) &&
+			check_time (icalcomponent_get_dtend (icalcomp), TRUE);
+	case ICAL_VTODO_COMPONENT:
+		return	check_time (icalcomponent_get_dtstart (icalcomp), TRUE) &&
+			check_time (icalcomponent_get_due (icalcomp), TRUE);
+	case ICAL_VJOURNAL_COMPONENT:
+		return	check_time (icalcomponent_get_dtstart (icalcomp), TRUE) &&
+			check_time (icalcomponent_get_dtend (icalcomp), TRUE);
+	default:
+		break;
+	}
+
+	return TRUE;
 }



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