diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp --- a/src/kiconloader.cpp +++ b/src/kiconloader.cpp @@ -1134,6 +1134,23 @@ } } } + + if (path.isEmpty()) { + const QStringList fallbackPaths = QIcon::fallbackSearchPaths(); + + for (const QString &path : fallbackPaths) { + const QString extensions[] = { QStringLiteral(".png"), QStringLiteral(".svg"), QStringLiteral(".svgz"), QStringLiteral(".xpm") }; + + for (const QString &ext : extensions) { + const QString file = path + '/' + name + ext; + + if (QFileInfo::exists(file)) { + return file; + } + } + } + } + return path; }