diff --git a/frame/taskmanager/desktopinfo.cpp b/frame/taskmanager/desktopinfo.cpp index 0cf613d33..a34a1667c 100644 --- a/frame/taskmanager/desktopinfo.cpp +++ b/frame/taskmanager/desktopinfo.cpp @@ -40,7 +40,7 @@ DesktopInfo::DesktopInfo(const QString &desktopfile) } } - m_desktopFilePath = desktopFileInfo.absoluteFilePath(); + m_desktopFilePath = desktopFileInfo.canonicalFilePath(); m_isValid = desktopFileInfo.isAbsolute() && QFile::exists(desktopFileInfo.absoluteFilePath()); m_desktopFile.reset(new QSettings(m_desktopFilePath, QSettings::IniFormat)); m_desktopFile->setIniCodec("utf-8"); diff --git a/frame/taskmanager/entries.cpp b/frame/taskmanager/entries.cpp index 19d17a0b0..4f49f0509 100644 --- a/frame/taskmanager/entries.cpp +++ b/frame/taskmanager/entries.cpp @@ -162,9 +162,11 @@ QList Entries::getEntries() Entry *Entries::getDockedEntryByDesktopFile(const QString &desktopFile) { + QFileInfo desktopFileInfo(desktopFile); + Entry *ret = nullptr; for (auto entry : filterDockedEntries()) { - if ((entry->isValid()) && desktopFile == entry->getFileName()) { + if ((entry->isValid()) && desktopFileInfo.canonicalFilePath() == entry->getFileName()) { ret = entry; break; }