From d5b6d93978a772185a9c122fb391be1fa0e7ec84 Mon Sep 17 00:00:00 2001 From: allexzander Date: Wed, 31 Mar 2021 14:47:34 +0300 Subject: Fix VFS freeze when syncing '.lnk' files on Windows. Signed-off-by: allexzander --- src/libsync/discovery.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/libsync/discovery.cpp') diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp index edded199a..7d12a8acd 100644 --- a/src/libsync/discovery.cpp +++ b/src/libsync/discovery.cpp @@ -501,12 +501,22 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo( }); return; } +#ifdef Q_OS_WIN + const bool forceAlwaysLocal = item->_type == ItemTypeFile && item->_fileId.endsWith(".lnk"); +#else + const bool forceAlwaysLocal = false; +#endif + if (forceAlwaysLocal) { + int a = 5; + a = 6; + } // Turn new remote files into virtual files if the option is enabled. auto &opts = _discoveryData->_syncOptions; if (!localEntry.isValid() && item->_type == ItemTypeFile && opts._vfs->mode() != Vfs::Off - && _pinState != PinState::AlwaysLocal) { + && _pinState != PinState::AlwaysLocal + && !forceAlwaysLocal) { item->_type = ItemTypeVirtualFile; if (isVfsWithSuffix()) addVirtualFileSuffix(tmp_path._original); -- cgit v1.2.3