diff -up kde-runtime-4.6.90/kcontrol/icons/iconthemes.cpp.iconthemes-inherit kde-runtime-4.6.90/kcontrol/icons/iconthemes.cpp --- kde-runtime-4.6.90/kcontrol/icons/iconthemes.cpp.iconthemes-inherit 2011-06-22 16:30:08.000000000 +0200 +++ kde-runtime-4.6.90/kcontrol/icons/iconthemes.cpp 2011-06-28 16:30:03.000000000 +0200 @@ -412,15 +412,16 @@ void loadPreview(QLabel *label, KIconThe { const int size = qMin(48, icontheme.defaultSize(KIconLoader::Desktop)); QSvgRenderer renderer; - foreach(const QString &name, iconnames) { - K3Icon icon = icontheme.iconPath(QString("%1.png").arg(name), size, KIconLoader::MatchBest); + foreach(const QString &iconthemename, QStringList() << icontheme.internalName() << icontheme.inherits()) { + foreach(const QString &name, iconnames) { + K3Icon icon = KIconTheme(iconthemename).iconPath(QString("%1.png").arg(name), size, KIconLoader::MatchBest); if (icon.isValid()) { label->setPixmap(QPixmap(icon.path).scaled(size, size)); return; } - icon = icontheme.iconPath(QString("%1.svg").arg(name), size, KIconLoader::MatchBest); + icon = KIconTheme(iconthemename).iconPath(QString("%1.svg").arg(name), size, KIconLoader::MatchBest); if( ! icon.isValid() ) { - icon = icontheme.iconPath(QString("%1.svgz").arg(name), size, KIconLoader::MatchBest); + icon = KIconTheme(iconthemename).iconPath(QString("%1.svgz").arg(name), size, KIconLoader::MatchBest); if( ! icon.isValid() ) { continue; } @@ -434,6 +435,7 @@ void loadPreview(QLabel *label, KIconThe label->setPixmap(pix.scaled(size, size)); return; } + } } label->setPixmap(QPixmap()); }