Summary: | Reads of list-valued custom iCal properties return only final list member | ||
---|---|---|---|
Product: | [Unmaintained] kresources | Reporter: | Isaac Wilcox <iwilcox> |
Component: | framework | Assignee: | Cornelius Schumacher <schumacher> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | reinhold |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Isaac Wilcox
2006-02-25 19:56:42 UTC
Am Sonntag, 26. Februar 2006 11:38 schrieb thorsten@staerk.de: > Dear List, > > Isaac pointed me to a very interesting problem in bugs.kde.org/122643. > kArm stores a "desktoplist" for each task, associating a list of desktops, > e.g. "1,2,3" with a task. This desktop list is a custom property > (X-KDE-karm-desktopList) within the iCal file. Saving and loading worked > fine with KDE 3.4. > With KDE 3.5, saving still works fine, but loading no longer. > > As I can tell from debugging icalformatimpl.cpp, function > ICalFormatImpl::readCustomProperties (thanks Adriaan for the good work), > libical no longer reads X-KDE-karm-desktoplist no longer as "1,2,3", but > as "1", then again as "2", then again as "3", thus overwriting this > property so only the last element in the comma-separated list is left. The problem is simply that we lack a method to read custom lists... We can't just read X-KDE-karm-desktoplist: 1,2,3 as "1,2,3", since that will terribly fail for cases like: X-KDE-Some-ListTest:"a\,b","c\,d" which is a list of two elements ('a,b' and 'c,d', without the quotes). The parser already un-escapes the commas, so the proposed behavior would return 'a,b,c,d', which is a list of four values.... Cheers, Reinhold karm as well as Reinhold's escaping-usecase now works with commit http://websvn.kde.org/trunk/KDE/kdepim/libkcal/tests/cal?rev=515421&view=rev Note that this fix will not go into KDE 3.5.x, but into KDE 4 |