@@ -1474,15 +1474,18 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status)
1474
1474
}
1475
1475
} else {
1476
1476
try {
1477
- if (FileSystem::fileExists (propagator ()->fullLocalPath (_item->_file ))) {
1478
- qCDebug (lcDirectory) << propagator ()->fullLocalPath (_item->_file ) << " old permissions" << static_cast <int >(std::filesystem::status (propagator ()->fullLocalPath (_item->_file ).toStdWString ()).permissions ());
1479
- FileSystem::setFolderPermissions (propagator ()->fullLocalPath (_item->_file ), FileSystem::FolderPermissions::ReadWrite);
1480
- qCDebug (lcDirectory) << propagator ()->fullLocalPath (_item->_file ) << " new permissions" << static_cast <int >(std::filesystem::status (propagator ()->fullLocalPath (_item->_file ).toStdWString ()).permissions ());
1477
+ const auto permissionsChangeHelper = [] (const auto fileName)
1478
+ {
1479
+ qCDebug (lcDirectory) << fileName << " permissions changed: old permissions" << static_cast <int >(std::filesystem::status (fileName.toStdWString ()).permissions ());
1480
+ FileSystem::setFolderPermissions (fileName, FileSystem::FolderPermissions::ReadWrite);
1481
+ qCDebug (lcDirectory) << fileName << " applied new permissions" << static_cast <int >(std::filesystem::status (fileName.toStdWString ()).permissions ());
1482
+ };
1483
+
1484
+ if (const auto fileName = propagator ()->fullLocalPath (_item->_file ); FileSystem::fileExists (fileName)) {
1485
+ permissionsChangeHelper (fileName);
1481
1486
}
1482
- if (!_item->_renameTarget .isEmpty () && FileSystem::fileExists (propagator ()->fullLocalPath (_item->_renameTarget ))) {
1483
- qCDebug (lcDirectory) << " old permissions" << static_cast <int >(std::filesystem::status (propagator ()->fullLocalPath (_item->_renameTarget ).toStdWString ()).permissions ());
1484
- FileSystem::setFolderPermissions (propagator ()->fullLocalPath (_item->_renameTarget ), FileSystem::FolderPermissions::ReadWrite);
1485
- qCDebug (lcDirectory) << " new permissions" << static_cast <int >(std::filesystem::status (propagator ()->fullLocalPath (_item->_renameTarget ).toStdWString ()).permissions ());
1487
+ if (const auto fileName = propagator ()->fullLocalPath (_item->_renameTarget ); !_item->_renameTarget .isEmpty () && FileSystem::fileExists (fileName)) {
1488
+ permissionsChangeHelper (fileName);
1486
1489
}
1487
1490
}
1488
1491
catch (const std::filesystem::filesystem_error &e)
0 commit comments