Fix kcm_gtk crash when GTK2 / GTK3 themes is not available

This resolves Bug 1587
pull/1/head
Francois Andriot 11 years ago committed by Slávek Banko
parent b0ae5425ef
commit 082a0c06c2

@ -232,13 +232,19 @@ void KcmGtk::getInstalledThemes()
}
}
bool installed = false;
widget->styleBox->clear();
TQStringList otherStyles = themes.keys();
otherStyles.remove(otherStyles.find("Qt"));
widget->styleBox->insertStringList(otherStyles);
bool installed = (themes.find("Qt") != themes.end());
if(!otherStyles.empty()) {
otherStyles.remove(otherStyles.find("Qt"));
installed = !otherStyles.empty();
}
if(installed) {
widget->styleBox->insertStringList(otherStyles);
}
widget->styleKde->setEnabled(installed);
widget->styleBox->setEnabled(installed);
widget->styleOther->setEnabled(installed);
widget->warning1->setHidden(installed);
widget->warning2->setHidden(installed);
widget->warning3->setHidden(installed);
@ -261,13 +267,19 @@ void KcmGtk::getInstalledThemes()
}
}
bool gtk3installed = false;
widget->styleBox3->clear();
TQStringList otherGtk3Styles = gtk3Themes.keys();
otherGtk3Styles.remove(otherGtk3Styles.find("tdegtk"));
widget->styleBox3->insertStringList(otherGtk3Styles);
bool gtk3installed = (gtk3Themes.find("tdegtk") != gtk3Themes.end());
if(!otherGtk3Styles.empty()) {
otherGtk3Styles.remove(otherGtk3Styles.find("tdegtk"));
gtk3installed = !otherGtk3Styles.empty();
}
if(gtk3installed) {
widget->styleBox3->insertStringList(otherGtk3Styles);
}
widget->styleKde3->setEnabled(gtk3installed);
widget->styleBox3->setEnabled(gtk3installed);
widget->styleOther3->setEnabled(gtk3installed);
widget->warning4->setHidden(gtk3installed);
widget->warning5->setHidden(gtk3installed);
widget->warning6->setHidden(gtk3installed);

Loading…
Cancel
Save