Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > b0f526158c3a4d05337d75c71f82f465 > files > 7

kdebase-runtime-4.7.2-1.fc16.src.rpm

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());
 }