diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp index a24cb4d681..9c3f2d9d00 100644 --- a/src/libsync/discovery.cpp +++ b/src/libsync/discovery.cpp @@ -510,13 +510,13 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo( && item->_type == ItemTypeFile && opts._vfs->mode() != Vfs::Off && _pinState != PinState::AlwaysLocal +#ifdef Q_OS_WIN + // on Windows, ".lnk" files are causing troubles with QFileInfo - always treat them as normal files + && !FileSystem::isLnkFile(path._server) +#endif ) { item->_type = ItemTypeVirtualFile; -#ifdef Q_OS_WIN - if(FileSystem::isLnkFile(path._server)) { - item->_type = ItemTypeVirtualFileDownload; - } -#endif + if (isVfsWithSuffix()) addVirtualFileSuffix(tmp_path._original); } diff --git a/src/libsync/vfs/cfapi/vfs_cfapi.cpp b/src/libsync/vfs/cfapi/vfs_cfapi.cpp index b5b2cb9e2d..d8b96cb415 100644 --- a/src/libsync/vfs/cfapi/vfs_cfapi.cpp +++ b/src/libsync/vfs/cfapi/vfs_cfapi.cpp @@ -197,9 +197,9 @@ bool VfsCfApi::statTypeVirtualFile(csync_file_stat_t *stat, void *statData) return true; } else if (!isSparseFile && isUnpinned){ if (!FileSystem::isLnkFile(stat->path)) { - stat->type = ItemTypeVirtualFileDehydration; + stat->type = ItemTypeVirtualFileDehydration; + return true; } - return true; } else if (isSparseFile) { stat->type = ItemTypeVirtualFile; return true;