diff --git a/applets/kicker/plugin/appentry.cpp b/applets/kicker/plugin/appentry.cpp index 407ad1db0..cd186d7c3 100644 --- a/applets/kicker/plugin/appentry.cpp +++ b/applets/kicker/plugin/appentry.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #if HAVE_X11 #include #endif @@ -91,7 +92,11 @@ bool AppEntry::isValid() const QIcon AppEntry::icon() const { if (m_icon.isNull()) { - m_icon = QIcon::fromTheme(m_service->icon(), QIcon::fromTheme(QStringLiteral("unknown"))); + if (QFileInfo::exists(m_service->icon())) { + m_icon = QIcon(m_service->icon()); + } else { + m_icon = QIcon::fromTheme(m_service->icon(), QIcon::fromTheme(QStringLiteral("unknown"))); + } } return m_icon; } diff --git a/applets/kicker/plugin/recentusagemodel.cpp b/applets/kicker/plugin/recentusagemodel.cpp index a082a06dd..b85f3abbd 100644 --- a/applets/kicker/plugin/recentusagemodel.cpp +++ b/applets/kicker/plugin/recentusagemodel.cpp @@ -221,7 +221,7 @@ QVariant RecentUsageModel::appData(const QString &resource, int role) const return AppEntry::nameFromService(service, AppEntry::NameOnly); } } else if (role == Qt::DecorationRole) { - return QIcon::fromTheme(service->icon(), QIcon::fromTheme(QStringLiteral("unknown"))); + return service->icon(); } else if (role == Kicker::DescriptionRole) { return service->comment(); } else if (role == Kicker::GroupRole) {