Summary: | kontact crashes because it searches its calendar in the wrong place | ||
---|---|---|---|
Product: | [Applications] korganizer | Reporter: | Philippe Rigault <prigault> |
Component: | general | Assignee: | Cornelius Schumacher <schumacher> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Philippe Rigault
2003-10-03 21:07:49 UTC
Can you still reproduce that with a recent version? Tested with KDE 3.1.93 Kontact no longer crashes, however there is still a problem related to the name of the application (kontact vs korganizer), which results in improper behaviour. More specifically (for the following, $KDEHOME=/home/kdetest/.kde): 1. On startup, Kontact searches for the standard calendar in $KDEHOME/share/apps/kontact libkcal: Opening resource Default KOrganizer resource kresources: Opening resource Default KOrganizer resource libkcal: Opening resource Default KOrganizer resource with URL file:/home/kdetest/.kde/share/apps/kontact/std.ics libkcal: FileStorage::load(): '/home/kdetest/.kde/share/apps/kontact/std.ics' libkcal: ICalFormat::load() /home/kdetest/.kde/share/apps/kontact/std.ics libkcal: ICalFormat::load() load error korganizer: CalendarResources used by KOrganizer: kresources: Resource: kresources: Name: Default KOrganizer resource kresources: Identifier: NM0ovhVRpq kresources: Type: file kresources: OpenCount: 1 kresources: ReadOnly: no kresources: Active: yes kresources: IsOpen: yes libkcal: Url: file:/home/kdetest/.kde/share/apps/kontact/std.ics libkcal: FileStorage::load(): '/home/kdetest/.kde/share/apps/kontact/std.ics' libkcal: ICalFormat::load() /home/kdetest/.kde/share/apps/kontact/std.ics libkcal: ICalFormat::load() load error libkcal: FileStorage::load(): '/home/kdetest/.kde/share/apps/kontact/std.ics' libkcal: ICalFormat::load() /home/kdetest/.kde/share/apps/kontact/std.ics libkcal: ICalFormat::load() load error 2. Within kontact, calendar saving actions do the following (INCORRECT) actions - 'Save As' opens a file menu defaulting to $KDEHOME/share/apps/korganizer/ . Proper behaviour should be defaulting to $KDEHOME/share/apps/kontact. - 'Save' has the same action as 'Save As' (opening a file menu defaulting to $KDEHOME/share/apps/korganizer/). This is inconsistent with the 'Save' expected behaviour, because 'Save' should be enabled only when the file being saved is known already. The solution here is to disable 'Save' until the user has chosen a filename. An alternate solution is to save directly as $KDEHOME/share/apps/kontact/std.ics, which is what is done silently upon exiting kontact --see below. But for this to be consistent with 'Save As', 'Save As' must point by default to $KDEHOME/share/apps/kontact. 3. Leaving Kontact ('Quit') saves AUTOMATICALLY without confirmation) to $KDEHOME/share/apps/kontact/std.ics. The absence of confirmation is bad and should be corrected. libkcal: CalendarResources::save() libkcal: ICalFormat::save(): /home/kdetest/.kde/share/apps/kontact/std.ics korganizer: ActionManager::writeSettings kdecore (KConfigSkeleton): KConfigSkeleton::writeConfig() kdecore (KConfigSkeleton): KConfigSkeleton::readConfig() libkdepim: KPimPrefs::usrReadConfig() kparts: Part::~Part 0x81c1fc8 korganizer: ~CalendarView() korganizer: ~CalendarView() done libkcal: CalendarResources::destructor libkcal: CalendarResources::close Conclusion: The following problems are either addressed or outside of this bug: - Kontact does not crash any more because of this problem - The kontact/korganizer problem stems from another problem (incorrect registration of kontact components, aka the evil bug http://bugs.kde.org/show_bug.cgi?id=57204 ) However, I leave this bug open because of two problems specific to this report - 'Save' and 'Save As' inconsistent behaviour. - 'Quit' triggers a save without confirmation. It should ask for Save/Discard/Cancel. The inconsistency is fixed. There intentionally is no saving confirmation. The default calendar is no document, but a persistent object. |