Blob Blame History Raw
diff -up kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp.kstandarddirs	2013-11-30 21:24:01.637163800 -0600
+++ kdelibs-4.11.97/kdecore/kernel/kstandarddirs.cpp	2013-11-30 21:35:27.166292739 -0600
@@ -1149,7 +1149,8 @@ QStringList KStandardDirs::KStandardDirs
                  pit != prefixList->end();
                  ++pit)
             {
-            if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty())
+            // "exe" never has a custom install path, and the check triggers a false positive due to the libexecdir patch
+            if((*pit).compare(installprefix, cs) != 0 || installdir.isEmpty() || !strcmp("exe", type))
             {
                     for (QStringList::ConstIterator it = dirs.constBegin();
                          it != dirs.constEnd(); ++it)
@@ -1163,6 +1164,11 @@ QStringList KStandardDirs::KStandardDirs
                         if ((local || testdir.exists()) && !candidates.contains(path, cs))
                             candidates.append(path);
                     }
+                    // special-case "config" (forward porting Chris Cheney's
+                    // hack) - we want /etc/kde after the local config paths
+                    // and before the ones in /usr (including kde-profile)
+                    if (local && !strcmp("config", type))
+                       candidates.append(QLatin1String("/etc/kde/"));
                     local = false;
                 }
             else