mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: Bug [0001387]
This commit is contained in:
parent
0d2c2f0e2f
commit
d65b35b371
3 changed files with 14 additions and 7 deletions
|
|
@ -30,8 +30,9 @@ uses
|
|||
SysUtils, Classes, DynLibs, DCClassesUtf8, DCBasicTypes;
|
||||
|
||||
const
|
||||
fmOpenSync = $10000;
|
||||
fmOpenDirect = $20000;
|
||||
fmOpenSync = $10000;
|
||||
fmOpenDirect = $20000;
|
||||
fmOpenNoATime = $40000;
|
||||
|
||||
type
|
||||
TFileMapRec = record
|
||||
|
|
@ -566,10 +567,16 @@ end;
|
|||
|
||||
function mbFileOpen(const FileName: String; Mode: LongWord): System.THandle;
|
||||
{$IFDEF MSWINDOWS}
|
||||
const
|
||||
ft: TFileTime = ( dwLowDateTime: $FFFFFFFF; dwHighDateTime: $FFFFFFFF; );
|
||||
begin
|
||||
Result:= CreateFileW(PWideChar(UTF16LongName(FileName)), AccessModes[Mode and 3],
|
||||
Result:= CreateFileW(PWideChar(UTF16LongName(FileName)),
|
||||
AccessModes[Mode and 3] or ((Mode and fmOpenNoATime) shr 10),
|
||||
ShareModes[(Mode and $F0) shr 4], nil, OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL, OpenFlags[(Mode shr 16) and 3]);
|
||||
if (Result <> feInvalidHandle) then begin
|
||||
if (Mode and fmOpenNoATime <> 0) then SetFileTime(Result, nil, @ft, @ft);
|
||||
end;
|
||||
end;
|
||||
{$ELSE}
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ begin
|
|||
// Simple regular expression search (don't work for very big files)
|
||||
if bRegExp then
|
||||
begin
|
||||
fs := TFileStreamEx.Create(sFileName, fmOpenRead or fmShareDenyNone);
|
||||
fs := TFileStreamEx.Create(sFileName, fmOpenRead or fmShareDenyNone or fmOpenNoATime);
|
||||
try
|
||||
if fs.Size = 0 then Exit;
|
||||
{$PUSH}{$R-}
|
||||
|
|
@ -296,7 +296,7 @@ begin
|
|||
if sDataLength > BufferSize then
|
||||
raise Exception.Create(rsMsgErrSmallBuf);
|
||||
|
||||
fs := TFileStreamEx.Create(sFileName, fmOpenRead or fmShareDenyNone);
|
||||
fs := TFileStreamEx.Create(sFileName, fmOpenRead or fmShareDenyNone or fmOpenNoATime);
|
||||
try
|
||||
if sDataLength > fs.Size then // string longer than file, cannot search
|
||||
Exit;
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ begin
|
|||
// If thumbnail already exists in cache for this file then load it
|
||||
if mbFileExists(sThumbFileName) then
|
||||
begin
|
||||
fsFileStream:= TFileStreamEx.Create(sThumbFileName, fmOpenRead or fmShareDenyNone);
|
||||
fsFileStream:= TFileStreamEx.Create(sThumbFileName, fmOpenRead or fmShareDenyNone or fmOpenNoATime);
|
||||
try
|
||||
if ReadMetaData(aFile, fsFileStream) then
|
||||
begin
|
||||
|
|
@ -255,7 +255,7 @@ begin
|
|||
// Create thumb for image files
|
||||
if GetGraphicClassForFileExtension(sExt) <> nil then
|
||||
begin
|
||||
fsFileStream:= TFileStreamEx.Create(sFullPathToFile, fmOpenRead or fmShareDenyNone);
|
||||
fsFileStream:= TFileStreamEx.Create(sFullPathToFile, fmOpenRead or fmShareDenyNone or fmOpenNoATime);
|
||||
with Picture do
|
||||
try
|
||||
LoadFromStreamWithFileExt(fsFileStream, sExt);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue