diff --git a/src/filewidgets/kfileplacesview.cpp b/src/filewidgets/kfileplacesview.cpp --- a/src/filewidgets/kfileplacesview.cpp +++ b/src/filewidgets/kfileplacesview.cpp @@ -21,6 +21,7 @@ #include "kfileplacesview.h" #include "kfileplacesview_p.h" +#include #include #include #include @@ -37,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -768,6 +770,16 @@ teardown = placesModel->teardownActionForIndex(index); if (teardown != nullptr) { + // Disable teardown option for root and home partitions + bool teardownEnabled = placesModel->url(index) != QUrl::fromLocalFile(QDir::rootPath()); + if (teardownEnabled) { + KMountPoint::Ptr mountPoint = KMountPoint::currentMountPoints().findByPath(QDir::homePath()); + if (mountPoint && placesModel->url(index) == QUrl::fromLocalFile(mountPoint->mountPoint())) { + teardownEnabled = false; + } + } + teardown->setEnabled(teardownEnabled); + teardown->setParent(&menu); menu.addAction(teardown); }