| Summary: | all-day events imported from OpenGroupware ignored | ||
|---|---|---|---|
| Product: | [Applications] korganizer | Reporter: | Johannes Ballé <os> |
| Component: | general | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | djarvie |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | ics file to reproduce the bug | ||
|
Description
Johannes Ballé
2008-03-05 14:39:11 UTC
Created attachment 23787 [details]
ics file to reproduce the bug
You can easily test this by downloading the attachment and issuing korganizer -o calendar.ics After some experimentation, I found out that the custom entry
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
is the culprit. The corresponding lines are around libkcal/icalformatimpl.cpp:1038:
----------------
QString msade = event->nonKDECustomProperty("X-MICROSOFT-CDO-ALLDAYEVENT");
if (!msade.isNull()) {
bool floats = (msade == QString::fromLatin1("TRUE"));
// kdDebug(5800) << "ICALFormat::readEvent(): all day event: " << floats << endl;
event->setFloats(floats);
if (floats) {
QDateTime endDate = event->dtEnd();
event->setDtEnd(endDate.addDays(-1));
}
}
----------------
committed by David Jarvie.
The code obviously moves the end date back one day, which makes one-day-appointments disappear completely.
Excellent. A proprietary "amendment" to an open standard by Microsoft causes incompatibility between two entirely open source software components ...
SVN commit 825608 by winterz: Fix (hopefully, because I have no way to test) all-day events imported from OpenGroupware David, you could double check this and let me know if it makes sense. If so I will backport to the 3.5 branch. BUG: 158801 CCMAIL: djarvie@kde.org M +2 -6 icalformat_p.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=825608 |