Re: [evolution-patches] Re: 4 x bugreport
- From: JP Rosevear <jpr ximian com>
- To: info solnet cz
- Cc: evolution-patches ximian com
- Subject: Re: [evolution-patches] Re: 4 x bugreport
- Date: Thu, 05 Feb 2004 09:42:36 -0500
On Wed, 2004-01-28 at 06:55, Jan Becvar wrote:
> V St, 28. 01. 2004 v 11:16, Jan Becvar pÃÅ¡e:
> > In the case that EVENT has neither DTEND nor RRULES and DTSTART is TIME
> > value (not DATE value) then cal_recur_generate_instances (comp, -1, -1,
> > ...) returns empty result. But cal_recur_generate_instances (comp, 0,
> > -1, ...) returns correct result (instance_start=DTSTART,
> > instance_end=DTSTART).
> > ====================================
> > In the case that EVENT has DTSTART same as DTEND (both are TIME values)
> > then cal_recur_generate_instances (comp, DTSTART, ...) returns empty
> > result. But cal_recur_generate_instances (comp, DTSTART - 1, ...)
> > returns correct result (instance_start=DTSTART, instance_end=DTEND). You
> > can see this bug in Evolution, when you add EVENT width DSTART=0:0 and
> > DTEND=0:0.
>
> Oops, my previous patches don't work with RRULES (EVENT with
> DTSTARTtime=0:0, DTENDtime=0:0 and RRULE=daily, will not be shown in
> Evolution). This is correct patch for all three bugs:
>
> --- evolution.orig/calendar/cal-util/cal-recur.c 2003-03-05 15:48:49.000000000 +0100
> +++ evolution/calendar/cal-util/cal-recur.c 2004-01-28 10:16:28.000000000 +0100
> @@ -725,6 +725,7 @@
> If DTSTART is a DATE value we add 1 day. */
> dtend.value = g_new (struct icaltimetype, 1);
> *dtend.value = *dtstart.value;
> + dtend.tzid = g_strdup (dtstart.tzid);
>
> if (dtstart.value->is_date) {
> icaltime_adjust (dtend.value, 1, 0, 0, 0);
This part looks good.
> @@ -751,6 +752,10 @@
> #endif
> dtend_time = icaltime_as_timet_with_zone (*dtend.value, end_zone);
>
> + /* We must decrease `start' when DTSTART == DTEND */
> + if (dtstart_time == dtend_time)
> + start--;
> +
> /* If there is no recurrence, just call the callback if the event
> intersects the given interval. */
> if (!(cal_component_has_recurrences (comp)
I think it instead of this hack, the single instance logic just below
needs a slight adjustment, maybe dtend_time >= start instead of
dtend_time > start.
-JP
--
JP Rosevear <jpr ximian com>
Ximian, Inc.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]