Summary: | Association of a task with multiple desktops doesn't survive restart | ||
---|---|---|---|
Product: | [Applications] ktimetracker | Reporter: | Isaac Wilcox <iwilcox> |
Component: | general | Assignee: | Mark Bucciarelli <mark> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ovit.debian |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | fix |
Description
Isaac Wilcox
2006-02-24 14:35:08 UTC
Thanks for your detailed report. I did exactly as you describe and cannot reproduce. You describe the procedure to reproduce very thoroughly. Am I correct that you had to try several times ? Maybe this is an issue that occurs from time to time, pseudo-randomly. If yes, please state this. If no (so, 100% reproducible): - are you using a local file ? - do kdelibs, kdebase and kdepim have the same version ? - did you install "per default", with apt-get or did you do some tricks ? cat /tmp/karm.ics | grep X-KDE-karm-desktopList: I installed karm today, simply using "apt-get -t unstable install karm". Those three packages are all at KDE 3.5.1. Specifically: kdebase: 4:3.5.1-1 kdelibs: 4:3.5.1-2 karm: 4:3.5.1-1 It's 100% reproducible. My karm.ics is a local file. The grep yields different things depending on when it gets run. If I set A = 1 and 3, B = 2 and 4, and quit, and run: grep 'desktopList\|SUMMARY' /home/zak/.kde/share/apps/karm/karm.ics | head -4 then I get: X-KDE-karm-desktopList:1,3 SUMMARY:A X-KDE-karm-desktopList:0,2 SUMMARY:B If I then start karm up again *but change nothing at all* and re-run the grep, then I get: X-KDE-karm-desktopList:3 SUMMARY:A X-KDE-karm-desktopList:2 SUMMARY:B My reproduction steps were just long because I was being lazy and couldn't be bothered to narrow the bug down :) I can also reproduce it with: - create a task A that's active on desktops 2,3,4 - quit karm - start karm - edit task A and see it's now active only on desktop 4 So whatever bit of code is at fault here is dropping all but the last desktop, and doing it at startup. I want to narrow down the root cause. For that, please create an additional user and see if the problem persists for this user. If yes, it is a configuration issue. I do not want you to use another user forever, just give it a try. On another computer, I can reproduce the second test case. Setting this bug to confirmed (new). bug occurs with Revision: 502526 Looks like you're getting closer, but FWIW, I get exactly the same problem using a completely new user. A libkcal bug!!! see libkcal/icalformatimpl.cpp, function readCustomProperties. For every desktopentry, it overrides the previous one: scorpio:~/svn/3.5/kdepim/karm # grep "X-KDE-karm-desktopList" ../bug3.ics X-KDE-karm-desktopList:1,2,3 scorpio:~/svn/3.5/kdepim/karm # karm kparts: MainWindow::createGUI, part=(nil) karm: KarmStorage::remoteResource( ) returns false karm: KarmStorage::remoteResource( /root/svn/3.5/kdepim/bug3.ics ) returns false kio (KDirWatch): Can't use FAM (fam daemon not running?) kio (KDirWatch): Can't use INotify, Linux kernel too old kio (KDirWatch): Available methods: Stat kio (KDirWatch): Added File /root/svn/3.5/kdepim/bug3.ics [KDirWatch-1] kio (KDirWatch): Global Poll Freq is now 500 msec kio (KDirWatch): Started Polling Timer, freq 500 kio (KDirWatch): Setup Stat (freq 500) for /root/svn/3.5/kdepim/bug3.ics libkdepim: timezone from korganizerrc is [No selection] kresources: Opening resource KArm libkcal: Opening resource KArm libkcal: Loading resource KArm libkcal: ICalFormat::load() /root/svn/3.5/kdepim/bug3.ics libkcal: Set custom property [X-KDE-karm-desktopList=1] libkcal: Set custom property [X-KDE-karm-desktopList=2] libkcal: Set custom property [X-KDE-karm-desktopList=3] first the value for X-KDE-karm-desktopList is 1, this is overwritten with 2, then 3. So, does one of us raise a new bug against libkcal for this, or does this bug get reassigned to libkcal, or what? I can do the former if necessary but don't have the privileges to do the latter. This bug has most probably been introduced with libical 0.24. The desktop list is a "custom property" of the ical-file. It is filled with "1,2,3" for the second test case. The old libical then delivered "1,2,3". The new libical delivers "1", then delivers "2", then "3". Thus, libkcal is overriding the "1" first with "2", then with "3", so, only the 3 stays. First step could be that karm uses a ; as delimiter instead of a ,. I can fix libkcal bugs, no need for a reassignment. Created attachment 14871 [details]
fix
This fixes the problem by replacing the "1,2,3" by "1-2-3". You will not be
able to use your old .ics file without modifications. Apparently no one noticed
the possibility to store several virtual desktops went away, but nevertheless,
I do not want to break the compatibility between ics files.
This fix is just for you, Isaac. I will try to get libkcal right for KDE 4.
Thanks very much for the patch, much appreciated. I'll build a new karm now and give it a go. I've raised bug 122708 against libkcal (while I've no doubt you can fix libkcal bugs yourself, it just seems like the Right Thing To Do[TM] to have a suitably titled bug in the right place in the BTS). Guess this bug should be marked as blocked on that one, if that's possible. This bug is fixed with the following commit: http://websvn.kde.org/trunk/KDE/kdepim/libkcal/tests/cal?rev=515421&view=rev I want to close this bug report as soon as this solution is available for KDE 3.5, not only for KDE 4. Fixed for KDE 4, won't fix for KDE 3.5. KDE 3.5 is stable, the changes I have to do to fix this could damage more than their use would be. Feel free to use the patch from comment 12 and re-do your desktoplist after a KDE upgrade. *** Bug 143568 has been marked as a duplicate of this bug. *** |