Re: [Evolution-hackers] Evolution requesting info on every year from 2011 down to 65535
On Mon, 2011-02-21 at 14:08 +0100, Carlos Martín Nieto wrote: On Thu, 2011-02-17 at 08:21 +0100, Milan Crha wrote: On Thu, 2011-02-17 at 00:48 +0100, Carlos Martín Nieto wrote: I've attached the backtrace for a year of 167 (I think) though I don't think it gives much information. This happens even if I have my main calendar off (which I think it's the only one with recurring events). Hi, this is from your CalDAV calendar, based on the backtrace. Try to get the component which is causing this trouble, and see whether there is something wrong either with that component or with evolution. You can achieve that if you breakpoint as you did earlier, then move to frame of e_cal_backend_sexp_match_comp function and invoke gdb command: (gdb) printf %s\n, e_cal_component_get_as_string (comp) then strip any private information (the best by replacing with 'x' or similar letter) and maybe share it here, if you think it's correct, or better file a bug report and post here a link to it. I'm not sure whose fault it is, but the RRULE:FREQ=WEEKLY;UNTIL=20110219;INTERVAL=-1;BYDAY=WE line looks suspicous. I've checked on the Google Calendar and even there it says it repeats each -1 weeks :S So I'm going to write up a patch to ignore intervals 0 (maybe 1 better?) Hi Carlos, From RFC5545: The INTERVAL rule part contains a positive integer representing at which intervals the recurrence rule repeats. The default value is 1, meaning every second for a SECONDLY rule, every minute for a MINUTELY rule, every hour for an HOURLY rule, every day for a DAILY rule, every week for a WEEKLY rule, every month for a MONTHLY rule, and every year for a YEARLY rule. For example, within a DAILY rule, a value of 8 means every eight days. So yes: 0 is also invalid, as you would expect :-) Cheers, Andrew. -- andrew (AT) morphoss (DOT) com+64(272)DEBIAN To be is to program. signature.asc Description: This is a digitally signed message part ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Evolution requesting info on every year from 2011 down to 65535
On Tue, 2011-02-22 at 11:30 +1300, Andrew McMillan wrote: [...] Hi Carlos, From RFC5545: The INTERVAL rule part contains a positive integer representing at which intervals the recurrence rule repeats. The default value is 1, meaning every second for a SECONDLY rule, every minute for a MINUTELY rule, every hour for an HOURLY rule, every day for a DAILY rule, every week for a WEEKLY rule, every month for a MONTHLY rule, and every year for a YEARLY rule. For example, within a DAILY rule, a value of 8 means every eight days. So yes: 0 is also invalid, as you would expect :-) A very reasonable thing for the RFC to say :) This should probably be done in libical, but within e-d-s it the following patch probably makes more sense than the one I posted on the other thread (Deal with negative intervals) [PATCH] ECalRecur: Convert negative intervals into the default (1) Negative intervals have been spotted in the wild. An interval lower than 1 doesn't make any sense, so if we see one, we replace it by the default iCal interval of 1. --- calendar/libecal/e-cal-recur.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/calendar/libecal/e-cal-recur.c b/calendar/libecal/e-cal-recur.c index 3c30618..9eda66a 100644 --- a/calendar/libecal/e-cal-recur.c +++ b/calendar/libecal/e-cal-recur.c @@ -996,7 +996,8 @@ e_cal_recur_from_icalproperty (icalproperty *prop, gboolean exception, ir = icalproperty_get_rrule (prop); r-freq = ir.freq; - r-interval = ir.interval; + /* Interval 1 doesn't make sense, so use the default. */ + r-interval = ir.interval 1 ? 1 : ir.interval; r-enddate = e_cal_recur_obtain_enddate (ir, prop, zone, convert_end_date); -- Carlos Martín Nietohttp://www.cmartin.tk ¿Cómo voy a decir bobadas si soy mudo? -- CACHAI signature.asc Description: This is a digitally signed message part ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... http://mail.gnome.org/mailman/listinfo/evolution-hackers
Re: [Evolution-hackers] Evolution requesting info on every year from 2011 down to 65535
On Thu, 2011-02-17 at 00:48 +0100, Carlos Martín Nieto wrote: I've attached the backtrace for a year of 167 (I think) though I don't think it gives much information. This happens even if I have my main calendar off (which I think it's the only one with recurring events). Hi, this is from your CalDAV calendar, based on the backtrace. Try to get the component which is causing this trouble, and see whether there is something wrong either with that component or with evolution. You can achieve that if you breakpoint as you did earlier, then move to frame of e_cal_backend_sexp_match_comp function and invoke gdb command: (gdb) printf %s\n, e_cal_component_get_as_string (comp) then strip any private information (the best by replacing with 'x' or similar letter) and maybe share it here, if you think it's correct, or better file a bug report and post here a link to it. Bye, Milan ___ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... http://mail.gnome.org/mailman/listinfo/evolution-hackers