Duplicate entries in ksycoca4
Pascal Létourneau
pascal.letourneau at gmail.com
Wed Aug 15 20:05:11 BST 2007
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?
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())
More information about the kde-core-devel
mailing list