Lukas Tinkl b4e064e
diff -Naur kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp kdelibs-4.1.72.kstandarddirs/kdecore/kernel/kstandarddirs.cpp
Lukas Tinkl b4e064e
--- kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp	2008-11-12 18:31:44.000000000 +0100
Lukas Tinkl b4e064e
+++ kdelibs-4.1.72.kstandarddirs/kdecore/kernel/kstandarddirs.cpp	2008-11-12 18:38:40.000000000 +0100
Lukas Tinkl b4e064e
@@ -1002,7 +1002,9 @@
d9bc2a3
                  pit != prefixList->end();
d9bc2a3
                  ++pit)
d9bc2a3
             {
d9bc2a3
-	        if((*pit)!=installprefix||installdir.isEmpty())
d9bc2a3
+                // "exe" never has a custom install path, and the check triggers
d9bc2a3
+                // a false positive due to the libexecdir patch
d9bc2a3
+	        if((*pit)!=installprefix||installdir.isEmpty()||!strcmp("exe", type))
d9bc2a3
 	        {
Lukas Tinkl b4e064e
                     for (QStringList::ConstIterator it = dirs.constBegin();
Lukas Tinkl b4e064e
                          it != dirs.constEnd(); ++it)
Lukas Tinkl b4e064e
@@ -1016,6 +1018,11 @@
d9bc2a3
                         if ((local || testdir.exists()) && !candidates.contains(path))
d9bc2a3
                             candidates.append(path);
d9bc2a3
                     }
d9bc2a3
+                    // special-case "config" (forward porting Chris Cheney's
d9bc2a3
+                    // hack) - we want /etc/kde after the local config paths
d9bc2a3
+                    // and before the ones in /usr (including kde-profile)
d9bc2a3
+                    if (local && !strcmp("config", type))
d9bc2a3
+                       candidates.append("/etc/kde/");
d9bc2a3
                     local = false;
d9bc2a3
                 }
d9bc2a3
 	        else