Version: (using KDE KDE 3.1.92) Installed from: Compiled From Sources Compiler: GCC 3.3.1 OS: Linux This is done on a fresh KDE account created in 3.1.92 (no legacy files in KDEHOME) Within kontact, saving the calendar (korganizer) defaults to the direcory $KDEHOME/share/apps/korganizer. (note: see bug #64766 for a potential problem there) However, when kontact is started from the konsole, it looks for the calendar in $KDEHOME/share/apps/kontact and crashes because it can't find it. This is the output of 'kontact' lauched from the konsole: kprefs: KPrefs::readConfig() kio (KTrader): KServiceTypeProfile::offers( Kontact/Plugin, ) kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-kdetest/ksycoca kio (KTrader): Returning 10 offers kontact (core): Loading Plugin: Mail kontact: LIBNAMEPART: libkmailpart kontact (core): Loading Plugin: Contacts kontact: LIBNAMEPART: libkaddressbookpart kontact (core): Loading Plugin: Todo List kontact: LIBNAMEPART: libkorganizerpart kontact (core): Loading Plugin: Calendar kontact: LIBNAMEPART: libkorganizerpart kontact (core): Loading Plugin: Weather kontact (core): Loading Plugin: News kontact (core): Loading Plugin: Notes kontact: WARNING: KXMLGUIClient::setXMLFile: cannot find .rc file kpknotesplugin.rc kontact (core): Loading Plugin: Synchronization kontact (core): Loading Plugin: NewsTicker kontact (core): Loading Plugin: Summary kontact: Plugging new_mail kontact (core): Added plugin kontact: Plugging new_contact kontact (core): Added plugin kontact: Plugging new_todo kontact (core): Added plugin kontact: Plugging new_event kontact (core): Added plugin kparts: MainWindow::createGUI, part=(nil) kontact: Core:createPart(): libkorganizerpart kontact: Creating new KPart kprefs: Creating KPrefs (135417296) kprefs: KPrefs::readConfig() libkdepim: KPimPrefs::usrReadConfig() libkcal: CalendarResources::init kresources: Factory::self() kio (KTrader): KServiceTypeProfile::offers( KResources/Plugin, ) kio (KTrader): Returning 13 offers kresources: ManagerImpl::ManagerImpl() kresources: Connecting DCOP signals... kresources: ManagerImpl::readConfig() kresources: Factory::self() kontact: ManagerImpl::readResourceConfig() uYG5v3z4IH kontact: Factory::resource( file, config) kio (KDirWatch): Can't use FAM (fam daemon not running?) kio (KDirWatch): Available methods: Stat kio (KDirWatch): Added File /home/kdetest/.kde/share/apps/kontact/std.ics NotExisting [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 /home/kdetest/.kde/share/apps/kontact/std.ics 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: CalendarView::CalendarView( Calendar ) kio (KTrader): KServiceTypeProfile::offers( Calendar/Decoration, ) kio (KTrader): Returning 2 offers kontact: ERROR: Communication problem with kontact, it probably crashed. Two remarks: - When kontact is started from the panel, it does not crash. - This bug may be related to 64766
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.