Bug 124495

Summary: Free/Busy information not renerated for recurring events with end date after fb-period
Product: [Applications] korganizer Reporter: Philipp Hahn <pmhahn+kde>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Source Calendar
Generated free/busy information
Small test program to show bug
Fix RecurrenceRule::endDt()
Fix CalendarLocal::rawEvents
updated patch for CalendarLocal::rawEvents

Description Philipp Hahn 2006-03-29 15:03:38 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    Debian testing/unstable Packages
OS:                Linux

The published free/busy-information does not include all events, especially those recurring events which expire after the last day included in the free/busy-information are missing.

1. check the "publish 60 days of free/busy information" setting
2. create a first weekly recurring one hour event with end-date < 60 days
3. create a second weekly recurring one hour event with end-date > 60 days
4. publish free/busy information
   event one is included
   event two is missing
Comment 1 Philipp Hahn 2006-03-29 15:07:14 UTC
Created attachment 15349 [details]
Source Calendar

A sample calendar with three recurring events which recurr until dates spaced
one month after each other.
Comment 2 Philipp Hahn 2006-03-29 15:10:13 UTC
Created attachment 15350 [details]
Generated free/busy information

Generated free/busy information from calendar with three recurring events which
recurr until dates spaces one month after each other.
Entries for Event C 'FREEBUSY:2006....T130000Z/2006....T140000Z' are missing.
Comment 3 Philipp Hahn 2006-03-30 08:20:10 UTC
Created attachment 15369 [details]
Small test program to show bug

This small program creates a calendar which shows the bug. Put it in
kdepim/libkcal/tests, add it to Makefile.am the same as the "readandwrite"
test, compile and run it.
The generated free/busy-information only includes event 'A' but not 'B'.
Comment 4 Philipp Hahn 2006-03-30 08:23:01 UTC
One more comment: The recurring event must start before the FB-interval and must run until after the FB-interval to show the bug. If the event first starts inside the FB-interval, is shows correctly.
Comment 5 Philipp Hahn 2006-03-30 14:40:47 UTC
Created attachment 15374 [details]
Fix RecurrenceRule::endDt()

* Fix assignment of boolen value to pointer to boolean
* Actually also asign true some times
Comment 6 Philipp Hahn 2006-03-30 14:43:28 UTC
Created attachment 15375 [details]
Fix CalendarLocal::rawEvents

Rewrite the whole function from if^5-nesting to something more human
understandable.
This fixes the generation of my Free/Busy-Information but needs to be checked
for other users.
Comment 7 Reinhold Kainhofer 2006-11-02 19:16:01 UTC
Reassigning all KOrganizer bug reports and wishes to the newly created 
korganizer-devel mailing list.
Comment 8 Tim Weber 2007-10-01 14:01:13 UTC
Created attachment 21726 [details]
updated patch for CalendarLocal::rawEvents

I can confirm that this bug still exists in 3.5.7. Philipp's patches from #5
and #6 seem to fix it. The changes from r614014 of December 16 2006 (see
http://websvn.kde.org/?view=rev&revision=614014) require one line in the second
patch to be changed to make it apply cleanly. I've attached the corrected
patch.

Note that this bug's impact is more than just cosmetic: It breaks the export of
free/busy information for many recurring events and makes the KOrganizer user
look unprofessional. Since the bug can be fixed by applying these two small
patches, this should definitely be something to be fixed in KDE 4.0.
Comment 9 Allen Winter 2007-10-01 19:05:01 UTC
SVN commit 719675 by winterz:

Fix bug "Free/Busy information not renerated for recurring events with end date after fb-period"

Thanks to the patches and test progam from Philipp 
and the extra testing by Tim.

BUGS: 124495


 M  +61 -48    calendarlocal.cpp  
 M  +10 -16    recurrencerule.cpp  
 M  +7 -2      tests/Makefile.am  
 A             tests/fbrecurring.cpp   [License: no copyright]


WebSVN link: http://websvn.kde.org/?view=rev&revision=719675