From 11174ddf4cb3283548dd0fa13ca5c45a02c3e224 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 21 Dec 2015 13:25:10 +0100 Subject: [PATCH] PropagateLocalRemove: Make it possible to remove read only files (#4277) --- src/libsync/propagatorjobs.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libsync/propagatorjobs.cpp b/src/libsync/propagatorjobs.cpp index 404f6238b..e17ab6017 100644 --- a/src/libsync/propagatorjobs.cpp +++ b/src/libsync/propagatorjobs.cpp @@ -66,6 +66,12 @@ bool PropagateLocalRemove::removeRecursively(const QString& path) if (isDir) { ok = removeRecursively(path + QLatin1Char('/') + di.fileName()); // recursive } else { +#ifdef Q_OS_WIN + // On Windows, write only files cannot be deleted. (#4277) + if (!di.fileInfo().isWritable()) { + FileSystem::setFileReadOnlyWeak(di.filePath(),false); + } +#endif QFile f(di.filePath()); ok = f.remove(); if (!ok) { -- 2.30.2