]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistview.cpp
Fix warnings about scaling pixmaps
[dolphin.git] / src / kitemviews / kfileitemlistview.cpp
index 73d6c72e9b5579b83f5fb6c5c6c4fc78c03941b4..75eb1559e39abeaf3b8f093305a3a0cd519a3270 100644 (file)
@@ -168,7 +168,12 @@ QPixmap KFileItemListView::createDragPixmap(const KItemSet& indexes) const
         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);
         }
@@ -388,7 +393,8 @@ void KFileItemListView::applyRolesToModel()
 
     // 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");