--- kdelibs-4.1.1/kdecore/kernel/kstandarddirs.cpp~ 2008-09-15 15:27:16 +0400 +++ kdelibs-4.1.1/kdecore/kernel/kstandarddirs.cpp 2008-09-15 18:36:24 +0400 @@ -1536,6 +1536,8 @@ void KStandardDirs::addKDEDefaults() if (!xdgdirs.isEmpty()) { tokenize(xdgdirList, xdgdirs, QString(QChar(KPATH_SEPARATOR))); + if( !xdgdirList.contains("/etc/kde4/xdg") ) + xdgdirList.append("/etc/kde4/xdg"); } else { @@ -1545,6 +1547,7 @@ void KStandardDirs::addKDEDefaults() xdgdirList.append(installPath("kdedir") + "etc/xdg"); #else xdgdirList.append(KDESYSCONFDIR "/xdg"); + xdgdirList.append("/etc/kde4/xdg"); #endif } @@ -1586,18 +1589,25 @@ void KStandardDirs::addKDEDefaults() xdgdirs = readEnvPath("XDG_DATA_DIRS"); if (!xdgdirs.isEmpty()) { - tokenize(xdgdirList, xdgdirs, QString(QChar(KPATH_SEPARATOR))); + QStringList xdgdirs_list; + tokenize(xdgdirs_list, xdgdirs, QString(QChar(KPATH_SEPARATOR))); // Ensure the kdedirDataDirs are in there too, // otherwise resourceDirs() will add kdedir/share/applications/kde4 // as returned by installPath(), and that's incorrect. - Q_FOREACH(const QString& dir, kdedirDataDirs) { + xdgdirList = kdedirDataDirs; + Q_FOREACH(const QString& dir, xdgdirs_list) { if (!xdgdirList.contains(dir)) xdgdirList.append(dir); } + if( !xdgdirList.contains("/usr/share/") ) + xdgdirList.append("/usr/share/"); + if( !xdgdirList.contains("/var/cache/") ) + xdgdirList.append("/var/cache/"); } else { xdgdirList = kdedirDataDirs; xdgdirList.append("/usr/local/share/"); xdgdirList.append("/usr/share/"); + xdgdirList.append("/var/cache/"); } localXdgDir = readEnvPath("XDG_DATA_HOME"); @@ -1631,6 +1641,7 @@ void KStandardDirs::addKDEDefaults() index+=2; } addResourceType("exe", "lib", "kde4/libexec", true ); + addResourceDir("emoticons", "/usr/share/emoticons", true); addResourceDir("home", QDir::homePath(), false); }