mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-13 16:30:36 +02:00
Compare commits
1 Commits
stable-3.3
...
stable-3.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
d2e5094d13
|
@@ -163,8 +163,7 @@ std::unique_ptr<csync_file_stat_t> csync_vio_local_readdir(csync_vio_handle_t *h
|
|||||||
} else if (handle->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
} else if (handle->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
||||||
file_stat->type = ItemTypeDirectory;
|
file_stat->type = ItemTypeDirectory;
|
||||||
} else {
|
} else {
|
||||||
// exclude ".lnk" files as they are not essential, but, causing troubles when enabling the VFS due to QFileInfo::isDir() and other methods are freezing, which causes the ".lnk" files to start hydrating and freezing the app eventually.
|
file_stat->type = ItemTypeFile;
|
||||||
file_stat->type = !OCC::FileSystem::isLnkFile(path) ? ItemTypeFile : ItemTypeSoftLink;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for the hidden flag */
|
/* Check for the hidden flag */
|
||||||
|
|||||||
@@ -180,13 +180,13 @@ void ProcessDirectoryJob::process()
|
|||||||
bool isHidden = e.localEntry.isHidden || (!f.first.isEmpty() && f.first[0] == '.' && f.first != QLatin1String(".sys.admin#recall#"));
|
bool isHidden = e.localEntry.isHidden || (!f.first.isEmpty() && f.first[0] == '.' && f.first != QLatin1String(".sys.admin#recall#"));
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
// exclude ".lnk" files as they are not essential, but, causing troubles when enabling the VFS due to QFileInfo::isDir() and other methods are freezing, which causes the ".lnk" files to start hydrating and freezing the app eventually.
|
// exclude ".lnk" files as they are not essential, but, causing troubles when enabling the VFS due to QFileInfo::isDir() and other methods are freezing, which causes the ".lnk" files to start hydrating and freezing the app eventually.
|
||||||
const bool isServerEntryWindowsShortcut = !e.localEntry.isValid() && e.serverEntry.isValid() && !e.serverEntry.isDirectory && FileSystem::isLnkFile(e.serverEntry.name);
|
const bool isServerEntryWindowsShortcut = false;//!e.localEntry.isValid() && e.serverEntry.isValid() && !e.serverEntry.isDirectory && FileSystem::isLnkFile(e.serverEntry.name);
|
||||||
#else
|
#else
|
||||||
const bool isServerEntryWindowsShortcut = false;
|
const bool isServerEntryWindowsShortcut = false;
|
||||||
#endif
|
#endif
|
||||||
if (handleExcluded(path._target, e.localEntry.name,
|
if (handleExcluded(path._target, e.localEntry.name,
|
||||||
e.localEntry.isDirectory || e.serverEntry.isDirectory, isHidden,
|
e.localEntry.isDirectory || e.serverEntry.isDirectory, isHidden,
|
||||||
e.localEntry.isSymLink || isServerEntryWindowsShortcut))
|
e.localEntry.isSymLink))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (_queryServer == InBlackList || _discoveryData->isInSelectiveSyncBlackList(path._original)) {
|
if (_queryServer == InBlackList || _discoveryData->isInSelectiveSyncBlackList(path._original)) {
|
||||||
|
|||||||
@@ -190,8 +190,6 @@ bool VfsCfApi::statTypeVirtualFile(csync_file_stat_t *stat, void *statData)
|
|||||||
const auto hasReparsePoint = (ffd->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
|
const auto hasReparsePoint = (ffd->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0;
|
||||||
const auto hasCloudTag = (ffd->dwReserved0 & IO_REPARSE_TAG_CLOUD) != 0;
|
const auto hasCloudTag = (ffd->dwReserved0 & IO_REPARSE_TAG_CLOUD) != 0;
|
||||||
|
|
||||||
const auto isWindowsShortcut = !isDirectory && FileSystem::isLnkFile(stat->path);
|
|
||||||
|
|
||||||
const auto isExcludeFile = !isDirectory && FileSystem::isExcludeFile(stat->path);
|
const auto isExcludeFile = !isDirectory && FileSystem::isExcludeFile(stat->path);
|
||||||
|
|
||||||
// It's a dir with a reparse point due to the placeholder info (hence the cloud tag)
|
// It's a dir with a reparse point due to the placeholder info (hence the cloud tag)
|
||||||
@@ -205,7 +203,7 @@ bool VfsCfApi::statTypeVirtualFile(csync_file_stat_t *stat, void *statData)
|
|||||||
} else if (isSparseFile && isPinned) {
|
} else if (isSparseFile && isPinned) {
|
||||||
stat->type = ItemTypeVirtualFileDownload;
|
stat->type = ItemTypeVirtualFileDownload;
|
||||||
return true;
|
return true;
|
||||||
} else if (!isSparseFile && isUnpinned && !isWindowsShortcut && !isExcludeFile) {
|
} else if (!isSparseFile && isUnpinned && !isExcludeFile) {
|
||||||
stat->type = ItemTypeVirtualFileDehydration;
|
stat->type = ItemTypeVirtualFileDehydration;
|
||||||
return true;
|
return true;
|
||||||
} else if (isSparseFile) {
|
} else if (isSparseFile) {
|
||||||
|
|||||||
Reference in New Issue
Block a user