diff -up kdebase-runtime-4.1.1/kcontrol/icons/iconthemes.cpp.orig kdebase-runtime-4.1.1/kcontrol/icons/iconthemes.cpp --- kdebase-runtime-4.1.1/kcontrol/icons/iconthemes.cpp.orig 2008-09-16 13:24:43.000000000 +0200 +++ kdebase-runtime-4.1.1/kcontrol/icons/iconthemes.cpp 2008-09-16 15:30:14.000000000 +0200 @@ -415,15 +415,16 @@ void loadPreview(QLabel *label, KIconThe { const int size = qMin(48, icontheme.defaultSize(KIconLoader::Desktop)); KSvgRenderer 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; } @@ -437,6 +438,7 @@ void loadPreview(QLabel *label, KIconThe label->setPixmap(pix.scaled(size, size)); return; } + } } label->setPixmap(QPixmap()); }