mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 04:02:11 +02:00
codetools: fixed close/reopen file
git-svn-id: trunk@16797 -
This commit is contained in:
parent
28747c0ba0
commit
1d446abc80
@ -482,7 +482,7 @@ function TCodeCache.OnScannerCheckFileOnDisk(Code: pointer): boolean;
|
||||
var Buf: TCodeBuffer;
|
||||
begin
|
||||
Buf:=TCodeBuffer(Code);
|
||||
//DebugLn('OnScannerCheckFileOnDisk A ',Buf.Filename,' AutoRev=',Buf.AutoUpdateFromDisk,' WriteLock=',GlobalWriteLockIsSet,' DiskChg=',Buf.FileOnDiskHasChanged);
|
||||
//DebugLn(['OnScannerCheckFileOnDisk A ',Buf.Filename,' AutoRev=',Buf.AutoRevertFromDisk,' WriteLock=',GlobalWriteLockIsSet,' DiskChg=',Buf.FileOnDiskHasChanged,' IsDeleted=',Buf.IsDeleted]);
|
||||
if Buf.AutoRevertFromDisk or Buf.IsDeleted then begin
|
||||
if GlobalWriteLockIsSet then begin
|
||||
if GlobalWriteLockStep<>Buf.GlobalWriteLockStepOnLastLoad then begin
|
||||
@ -497,6 +497,7 @@ begin
|
||||
end else begin
|
||||
//DebugLn(['TCodeCache.OnScannerCheckFileOnDisk AutoRevertFromDisk=',Buf.AutoRevertFromDisk,' ',Buf.Filename]);
|
||||
end;
|
||||
//if buf.IsDeleted then debugln(['TCodeCache.OnScannerCheckFileOnDisk ',Buf.Filename,' still deleted']);
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
@ -821,7 +822,7 @@ end;
|
||||
|
||||
procedure TCodeBuffer.Clear;
|
||||
begin
|
||||
FIsDeleted:=false;
|
||||
fIsDeleted:=false;
|
||||
FLoadDateValid:=false;
|
||||
inherited Clear;
|
||||
end;
|
||||
@ -846,7 +847,7 @@ begin
|
||||
Result:=inherited LoadFromFile(AFilename);
|
||||
if Result then MakeFileDateValid;
|
||||
end;
|
||||
if Result then FIsDeleted:=false;
|
||||
if Result then IsDeleted:=false;
|
||||
end else
|
||||
Result:=false;
|
||||
end;
|
||||
@ -857,7 +858,7 @@ begin
|
||||
//DebugLn('TCodeBuffer.SaveToFile ',Filename,' -> ',AFilename,' ',Result);
|
||||
if CompareFilenames(AFilename,Filename)=0 then begin
|
||||
if Result then begin
|
||||
FIsDeleted:=false;
|
||||
IsDeleted:=false;
|
||||
MakeFileDateValid;
|
||||
end;
|
||||
end;
|
||||
@ -921,9 +922,11 @@ end;
|
||||
procedure TCodeBuffer.SetIsDeleted(const NewValue: boolean);
|
||||
begin
|
||||
if FIsDeleted=NewValue then exit;
|
||||
//debugln(['TCodeBuffer.SetIsDeleted ',Filename,' ',NewValue]);
|
||||
FIsDeleted:=NewValue;
|
||||
if FIsDeleted then begin
|
||||
Clear;
|
||||
FIsDeleted:=true;
|
||||
FLoadDateValid:=false;
|
||||
//DebugLn(['TCodeBuffer.SetIsDeleted ',Filename,' ',FileNeedsUpdate]);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user