Kaynağa Gözat

FIX: File creation time is changed to now when file is moved (fixes #2020)

Alexander Koblov 3 ay önce
ebeveyn
işleme
2bdc88ee2b

+ 3 - 10
src/filesources/filesystem/ufilesystemutil.pas

@@ -986,19 +986,12 @@ begin
     end;
     end;
     if ACopyTime then
     if ACopyTime then
     try
     try
-      if not (caoCopyTimeEx in CopyAttributesOptionEx) then
-      begin
-        if fpCreationTime in SourceFile.AssignedProperties then
-          CreationTime:= DateTimeToFileTimeEx(SourceFile.CreationTime)
-        else begin
-          CreationTime:= TFileTimeExNull;
-        end;
-        LastAccessTime:= DateTimeToFileTimeEx(SourceFile.LastAccessTime);
-      end
+      if fpCreationTime in SourceFile.AssignedProperties then
+        CreationTime:= DateTimeToFileTimeEx(SourceFile.CreationTime)
       else begin
       else begin
         CreationTime:= TFileTimeExNull;
         CreationTime:= TFileTimeExNull;
-        LastAccessTime:= TFileTimeExNull;
       end;
       end;
+      LastAccessTime:= DateTimeToFileTimeEx(SourceFile.LastAccessTime);
       // Copy time from properties because move operation change time of original folder
       // Copy time from properties because move operation change time of original folder
       if not FileSetTimeUAC(TargetFileName, DateTimeToFileTimeEx(SourceFile.ModificationTime),
       if not FileSetTimeUAC(TargetFileName, DateTimeToFileTimeEx(SourceFile.ModificationTime),
                                             CreationTime, LastAccessTime) then
                                             CreationTime, LastAccessTime) then