mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2026-06-29 09:59:59 +03:00
fix: don't delete base directories when evicting metacache
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
(cherry picked from commit 564fca8c9b)
This commit is contained in:
parent
cb13b2ef4d
commit
349061e58c
3 changed files with 34 additions and 1 deletions
|
|
@ -684,6 +684,32 @@ bool deletePath(QString path)
|
|||
return err.value() == 0;
|
||||
}
|
||||
|
||||
bool deleteContents(const QString& path)
|
||||
{
|
||||
const QFileInfo info(path);
|
||||
if (!info.exists()) {
|
||||
return true;
|
||||
}
|
||||
if (!info.isDir()) {
|
||||
qWarning() << "Attempted to delete contents of non-directory path:" << path;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ret = true;
|
||||
|
||||
for (const auto& entry : fs::directory_iterator(StringUtils::toStdString(path))) {
|
||||
std::error_code err;
|
||||
|
||||
fs::remove_all(entry.path(), err);
|
||||
if (err.value() != 0) {
|
||||
qWarning().nospace() << "Could not delete directory entry " << entry.path() << ": " << QString::fromStdString(err.message());
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool trash(QString path, QString* pathInTrash)
|
||||
{
|
||||
// FIXME: Figure out trash in Flatpak. Qt seemingly doesn't use the Trash portal
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue