QPixmap pixmap = model()->data(index).value("iconPixmap").value<QPixmap>();
if (pixmap.isNull()) {
QIcon icon = QIcon::fromTheme(model()->data(index).value("iconName").toString());
- pixmap = icon.pixmap(size, size);
+ if (!icon.isNull()) {
+ pixmap = icon.pixmap(size, size);
+ } else {
+ pixmap = QPixmap(size, size);
+ pixmap.fill(Qt::transparent);
+ }
} else {
KPixmapModifier::scale(pixmap, QSize(size, size) * dpr);
}
// KFileItemModel does not distinct between "visible" and "invisible" roles.
// Add all roles that are mandatory for having a working KFileItemListView:
- QSet<QByteArray> roles = visibleRoles().toSet();
+ const auto visibleRoles = this->visibleRoles();
+ auto roles = QSet<QByteArray>(visibleRoles.constBegin(), visibleRoles.constEnd());
roles.insert("iconPixmap");
roles.insert("iconName");
roles.insert("text");