From: Christian Hartmann Date: Tue, 5 Apr 2022 11:06:19 +0000 (+0200) Subject: fix: service-menu-installer ignoring symlinks on un-install X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/65413bbad29ea31ea0fab83bbe0f55a3befc5a11 fix: service-menu-installer ignoring symlinks on un-install service-menu-installer ignores .tar.gz-dir/uninstall.sh if this is actualy just a symbolic link to install.sh in the same directory (hardlinks and copies work) canonicalPath() is used to get the name of the file on disk and returns install.sh in the case of a symbolic link. install.sh without any arguments is called instead of uninstall.sh consequently and no de-installation takes place. replace canonicalPath() with absolutePath() as used in the rest of source file resolves: BUG: 452289 --- diff --git a/src/settings/contextmenu/servicemenuinstaller/servicemenuinstaller.cpp b/src/settings/contextmenu/servicemenuinstaller/servicemenuinstaller.cpp index 9a9610b5f..99aac8a63 100644 --- a/src/settings/contextmenu/servicemenuinstaller/servicemenuinstaller.cpp +++ b/src/settings/contextmenu/servicemenuinstaller/servicemenuinstaller.cpp @@ -204,7 +204,7 @@ QString findRecursive(const QString &dir, const QString &basename) { QDirIterator it(dir, QStringList{basename}, QDir::Files, QDirIterator::Subdirectories); while (it.hasNext()) { - return QFileInfo(it.next()).canonicalFilePath(); + return QFileInfo(it.next()).absoluteFilePath(); } return QString();