[evolution-data-server] Ensure end date is generated for master recurrence event while inserting into the interval tree



commit 32ad6448981d11b7cc5e234d2ccfdcaf56f62866
Author: Chenthill Palanisamy <pchenthill novell com>
Date:   Wed Sep 8 13:41:57 2010 +0530

    Ensure end date is generated for master recurrence event while inserting into the interval tree

 calendar/libecal/e-cal-recur.c                   |    7 +------
 calendar/libecal/e-cal-recur.h                   |    6 ++++++
 calendar/libecal/e-cal-util.c                    |    2 ++
 calendar/libedata-cal/e-cal-backend-file-store.c |    2 +-
 4 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/calendar/libecal/e-cal-recur.c b/calendar/libecal/e-cal-recur.c
index c504faf..24e2c14 100644
--- a/calendar/libecal/e-cal-recur.c
+++ b/calendar/libecal/e-cal-recur.c
@@ -477,11 +477,6 @@ static void cal_object_time_from_time		(CalObjTime *cotime,
 						 icaltimezone *zone);
 static gint cal_obj_date_only_compare_func	(gconstpointer arg1,
 						 gconstpointer arg2);
-
-static gboolean e_cal_recur_ensure_end_dates	(ECalComponent	*comp,
-						 gboolean	 refresh,
-						 ECalRecurResolveTimezoneFn tz_cb,
-						 gpointer	 tz_cb_data);
 static gboolean e_cal_recur_ensure_rule_end_date	(ECalComponent	*comp,
 						 icalproperty	*prop,
 						 gboolean	 exception,
@@ -3784,7 +3779,7 @@ cal_obj_time_to_string		(CalObjTime	*cotime)
    was changed, i.e. if the component should be saved at some point.
    We store the enddate in the "X-EVOLUTION-ENDDATE" parameter of the RRULE
    or EXRULE. */
-static gboolean
+gboolean
 e_cal_recur_ensure_end_dates (ECalComponent	*comp,
 			    gboolean		 refresh,
 			    ECalRecurResolveTimezoneFn  tz_cb,
diff --git a/calendar/libecal/e-cal-recur.h b/calendar/libecal/e-cal-recur.h
index 7af97c5..1665140 100644
--- a/calendar/libecal/e-cal-recur.h
+++ b/calendar/libecal/e-cal-recur.h
@@ -51,6 +51,12 @@ e_cal_recur_obtain_enddate (struct icalrecurrencetype *ir,
                             icaltimezone *zone,
                             gboolean convert_end_date);
 
+gboolean
+e_cal_recur_ensure_end_dates (ECalComponent	*comp,
+			    gboolean		 refresh,
+			    ECalRecurResolveTimezoneFn  tz_cb,
+			    gpointer		 tz_cb_data);
+		
 /* Localized nth-day-of-month strings. (Use with _() ) */
 #ifdef G_OS_WIN32
 extern const gchar **e_cal_get_recur_nth (void);
diff --git a/calendar/libecal/e-cal-util.c b/calendar/libecal/e-cal-util.c
index 1a67f02..36a3bc8 100644
--- a/calendar/libecal/e-cal-util.c
+++ b/calendar/libecal/e-cal-util.c
@@ -1212,6 +1212,8 @@ e_cal_util_get_component_occur_times (ECalComponent *comp,
 	g_return_if_fail (start != NULL);
 	g_return_if_fail (end != NULL);
 
+	e_cal_recur_ensure_end_dates (comp, FALSE, tz_cb, tz_cb_data);
+	
 	/* Get dtstart of the component and convert it to UTC */
 	e_cal_component_get_dtstart (comp, &dt_start);
 
diff --git a/calendar/libedata-cal/e-cal-backend-file-store.c b/calendar/libedata-cal/e-cal-backend-file-store.c
index 19722ef..0c4b860 100644
--- a/calendar/libedata-cal/e-cal-backend-file-store.c
+++ b/calendar/libedata-cal/e-cal-backend-file-store.c
@@ -618,7 +618,7 @@ resolve_tzid (const char *tzid, gpointer user_data)
 		: icaltimezone_get_builtin_timezone_from_tzid (tzid);
 	
 	if (!zone)
-		zone = e_cal_backend_store_get_timezone (E_CAL_BACKEND_STORE (user_data), tzid);
+		zone = (icaltimezone *) e_cal_backend_store_get_timezone (E_CAL_BACKEND_STORE (user_data), tzid);
 
 	return zone;
 }



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