Duplicate entries in ksycoca4

Allen Winter winter at kde.org
Sat Aug 25 01:00:49 BST 2007


On Wednesday 15 August 2007 3:05:11 pm Pascal L├ętourneau wrote:
> Hi
> 
> On my system, KStandardDirs::resourceDirs("applications") returns (among 
> others)
> /home/pletourn/kde/share/applications
> 	coming from "KDEDIR" + "share/" + "applications"
> /home/pletourn/kde/share/applications/kde4
> 	coming from "XDG_APPS_INSTALL_DIR"
> which cause duplicate apps entries in ksycoca4
> 
> With the included patch, installdir is no longer returned when it starts with 
> one of the previous canditates
> 
> Is that an acceptable solution?
> 

I wonder if this is why we have double and triple menu entries??
Anyone know?
-Allen


> Pascal L├ętourneau
> 
> Index: kstandarddirs.cpp
> ===================================================================
> --- kstandarddirs.cpp   (revision 700503)
> +++ kstandarddirs.cpp   (working copy)
> @@ -1117,8 +1117,17 @@ QStringList KStandardDirs::resourceDirs(
> 
>          // make sure we find the path where it's installed
>          QString installdir = installPath( type );
> -        if (!installdir.isEmpty() && !candidates.contains(installdir))
> +        if (!installdir.isEmpty()) {
> +            bool ok = true;
> +            foreach (QString s, candidates) {
> +                if (installdir.startsWith(s)) {
> +                    ok = false;
> +                    break;
> +                }
> +            }
> +            if (ok)
>              candidates.append(installdir);
> +        }
> 
>          dirs = d->absolutes.value(type);
>          if (!dirs.isEmpty())
> 
> 



-- 
KDEPIM Developer
I accept PayPal payments to awinterz at earthlink.net




More information about the kde-core-devel mailing list