By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 1210

Summary: KDED: TDE Components/Startup Services lists an empty service when knemo is not installed
Product: TDE Reporter: Darrell <darrella>
Component: tdebaseAssignee: Timothy Pearson <kb9vqf>
Status: NEW ---    
Severity: minor CC: bugwatch, darrella
Priority: P1    
Version: R14.0.x [Trinity]   
Hardware: All   
OS: All   
Compiler Version: TDE Version String:
Application Version: Application Name:

Description Darrell 2012-09-13 20:14:53 CDT
When knemo is installed and a user configures knemo to autoload, $TDEHOME/share/services/kded/knemod.desktop is created. The contents of knemod.desktop is X-TDE-Kded-autoload=true.

When the knemo package is removed/uninstalled, thereafter when a user opens KControl/TDE Components/Service Manager, the Startup Services section will list an empty service (the service name and description are empty).

Manually editing $TDEHOME/share/config/kdedrc toggles the KControl check box but does not eliminate the empty service. Attempting to start the empty service in KControl results in "Unable to contact KDED" error messages that seems to cripple KDED, forcing a restart of Trinity.

Deleting $TDEHOME/share/services/kded/knemod.desktop or modifying the contents to false will resolve the problem. Yet, most users are unlikely to discover this oddball work-around. When KDED starts, there should be a simple sanity check for any service configured to autoload that the service is actually installed.

A simple sanity check could include validating that a like-for-like named file exists in $TDEDIR/share/services. For example, when $TDEHOME/share/services/kded/knemod.desktop exists, verify that $TDEDIR/share/services/knemod.desktop exists as well. If not then do not attempt to autoload the service.

Autoloading KDED services seems to be performed from tdebase/kcontrol/kded/kcmkded.cpp.
Comment 1 Darrell 2012-09-13 20:16:00 CDT
That should be $TDEDIR/share/services/kded and not $TDEDIR/share/services/.
Comment 2 Darrell 2012-09-14 18:17:28 CDT
In commit def58d42, I pushed a nominal patch to the migratekde3 script. The patch partially resolves the problem but only for those people who use the script to migrate a KDE3 profile to TDE. The patch does not change the C++ sources to add a sanity check.