summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp')
-rw-r--r--tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp b/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
index 0bc972d0cb..fba83a24c7 100644
--- a/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
+++ b/tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp
@@ -58,6 +58,8 @@ private slots:
void type_data();
void type();
+
+ void taskQTBUG_46755_QFileIconEngine_crash();
};
// Subclass that exposes the protected functions.
@@ -167,6 +169,21 @@ void tst_QFileIconProvider::type()
QVERIFY(!provider.type(info).isEmpty());
}
+static QIcon getIcon()
+{
+ QFileIconProvider fip;
+ return fip.icon(QDir::currentPath());
+}
+
+void tst_QFileIconProvider::taskQTBUG_46755_QFileIconEngine_crash()
+{
+ const QIcon &icon = getIcon();
+ foreach (const QSize &size, icon.availableSizes())
+ icon.pixmap(size);
+
+ // No crash, all good.
+}
+
QTEST_MAIN(tst_QFileIconProvider)
#include "tst_qfileiconprovider.moc"