[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Hidden KDED desktop file crashing systemsettings - where to fix?
From:       Sebastian_Trüg <trueg () kde ! org>
Date:       2010-11-02 8:41:22
Message-ID: 4CCFCEB2.6090101 () kde ! org
[Download RAW message or body]

On 11/02/2010 09:26 AM, Jonathan Marten wrote:
> Dear all,
> 
> Since it got committed to trunk a few days ago, the new activity
> manager (kdebase/runtime/activitymanager) crashes the "kcmkded"
> systemsettings module:
> 
> ASSERT: "file.desktopGroup().readEntry("X-KDE-ServiceTypes") == "KDEDModule""
> in file /ws/trunk/kdebase/runtime/kcontrol/kded/kcmkded.cpp, line 190
> 
> This seems to be because it installs a desktop file
> (share/kde4/services/kded/activitymanager.desktop) which contains
> only:
> 
> [Desktop Entry]
> Hidden=true
> 
> KDEDConfig::load() simply lists all the desktop files in the "kded"
> subdirectory - it does not check whether the desktop file is hidden,
> therefore hitting the assert later.
> 
> So my question: where is the best place to fix this?  Should it be:
> 
> a) add the required (plus some dummy) entries to
> activitymanager.desktop, until its final version is in place.  Just
> adding X-KDE-ServiceTypes=KDEDModule, though, fixes the assert but
> shows a blank service entry in the list.
> 
> b) check for file.desktopGroup().readEntry("Hidden", false) just
> before the assert, and continue the loop if so.
> 
> c) use a KServiceTypeTrader query (which hopefully ignores hidden
> desktop files) instead of listing them.
> 
> Even if we say that (a) is the solution for this particular instance,
> it still leaves an unexpected catch in this systemsettings module
> (desktop files here cannot be hidden in the same way as others).  So
> should one of (b) or (c) be implemented also?

c seems the correct solution here. Isn't that what the service type
trader is for anyway?

Cheers,
Sebastian
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic