From e0e900b5d93160281e582a40d86c652f9b71f30e Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sat, 21 Dec 2024 21:53:53 +0100 Subject: Fix same file comparison between VFS engines --- UCoreWorkers.pas | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UCoreWorkers.pas b/UCoreWorkers.pas index 709de2b..c6a8d28 100644 --- a/UCoreWorkers.pas +++ b/UCoreWorkers.pas @@ -1206,6 +1206,10 @@ var DefResponse: integer; // Global variables for this function ((SrcEngine as TVFSEngine).ArchivePath <> '') and ((SrcEngine as TVFSEngine).ArchivePath <> (DestEngine as TVFSEngine).ArchivePath) then Result := False else + if (SrcEngine is TVFSEngine) and (DestEngine is TVFSEngine) and + not (SrcEngine as TVFSEngine).ArchiveMode and not (DestEngine as TVFSEngine).ArchiveMode and + ((SrcEngine as TVFSEngine).GetPathURI <> (DestEngine as TVFSEngine).GetPathURI) + then Result := False else if WideCompareStr(Path1, Path2) = 0 then Result := True else // * FIXME: causes stat errors, no need to check every file. Result := TestCaseInsensitiveFS and DestEngine.TwoSameFiles(Path1, Path2, False); -- cgit v1.2.3