Description: Fix loading icons
 Without this patch KDE-GTK-Config module scans ./ directory if option
 gtk-icon-theme-name or option gtk-fallback-icon-theme is empty or invalid.
 Now first element from the list of found icon themes is used.
Bug-Debian: http://bugs.debian.org/678714
Author: Boris Pek <tehnick-8@mail.ru>
Last-Update: 2012-08-21

--- a/src/gtkconfigkcmodule.cpp
+++ b/src/gtkconfigkcmodule.cpp
@@ -200,7 +200,9 @@
 {
     label->setToolTip(iconName);
     
-    QString ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), theme);
+    QString ret;
+    if(!theme.isEmpty())
+        ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), theme);
     if(!ret.isEmpty()) {
         QPixmap p(ret);
         Q_ASSERT(!p.isNull());
@@ -208,7 +210,9 @@
         return;
     }
     
-    ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), fallback);
+    if(!fallback.isEmpty())
+        ret = IconThemesModel::findFilesRecursively(QStringList(iconName+".*"), fallback);
+    
     if(!ret.isEmpty()) {
         QPixmap p(ret);
         Q_ASSERT(!p.isNull());
@@ -401,10 +401,14 @@
         appareance->gtk3Appearance()->installedThemesNames());
     
     //icons
-    QString currentIcon = useConfig ? appareance->getIcon() : ui->cb_icon->currentText(),
-            currentFallback = useConfig ? appareance->getIconFallback() : ui->cb_icon_fallback->currentText();
-    ui->cb_icon->setCurrentIndex(ui->cb_icon->findData(currentIcon, IconThemesModel::DirNameRole));
-    ui->cb_icon_fallback->setCurrentIndex(ui->cb_icon_fallback->findData(currentFallback, IconThemesModel::DirNameRole));
+    if (ui->cb_icon->count() > 0 && ui->cb_icon_fallback->count() > 0) {
+        QString currentIcon = useConfig ? appareance->getIcon() : ui->cb_icon->currentText(),
+                currentFallback = useConfig ? appareance->getIconFallback() : ui->cb_icon_fallback->currentText();
+        int currentIconIndex = ui->cb_icon->findData(currentIcon, IconThemesModel::DirNameRole),
+            currentFallbackIndex = ui->cb_icon_fallback->findData(currentFallback, IconThemesModel::DirNameRole);
+        ui->cb_icon->setCurrentIndex(currentIconIndex >= 0 ? currentFallbackIndex : 0);
+        ui->cb_icon_fallback->setCurrentIndex(currentFallbackIndex >= 0 ? currentFallbackIndex : 0);
+    }
     
     m_saveEnabled = wasenabled;
 }
