IDE: output filter: fixed storing absolute filename

git-svn-id: trunk@23814 -
This commit is contained in:
mattias 2010-03-01 23:01:49 +00:00
parent cee2c094a7
commit 304c5206cd
3 changed files with 8 additions and 6 deletions

View File

@ -3133,7 +3133,7 @@ var
Caret: TPoint; Caret: TPoint;
begin begin
if Step=imqfoMenuItem then begin if Step=imqfoMenuItem then begin
DebugLn(['TQuickFixIdentifierNotFound_Search.Execute ']); DebugLn(['TQuickFixIdentifierNotFound_Search.Execute Dir=',Msg.Directory,' Msg=',Msg.Msg,' Filename=',Msg.Parts.Values['Filename']]);
// get source position // get source position
// (FPC reports position right after the unknown identifier // (FPC reports position right after the unknown identifier
// for example right after FilenameIsAbsolute) // for example right after FilenameIsAbsolute)

View File

@ -143,9 +143,9 @@ begin
Filename:=Msg.Parts.Values['Filename']; Filename:=Msg.Parts.Values['Filename'];
TestDir:=LazarusIDE.GetTestBuildDirectory; TestDir:=LazarusIDE.GetTestBuildDirectory;
if (TestDir<>'') or (FileIsInDirectory(Filename,TestDir)) then if (TestDir<>'') and (FileIsInDirectory(Filename,TestDir)) then
Filename:=ExtractFileName(Filename); Filename:=ExtractFileName(Filename)
if not FilenameIsAbsolute(Filename) then else if not FilenameIsAbsolute(Filename) then
Filename:=AppendPathDelim(Msg.Directory)+Filename; Filename:=AppendPathDelim(Msg.Directory)+Filename;
//DebugLn('GetMsgLineFilename Filename=',Filename,' ',Msg.Parts.Text); //DebugLn('GetMsgLineFilename Filename=',Filename,' ',Msg.Parts.Text);
@ -530,12 +530,13 @@ var
NewX, NewY, NewTopLine: integer; NewX, NewY, NewTopLine: integer;
begin begin
if Step=imqfoMenuItem then begin if Step=imqfoMenuItem then begin
DebugLn(['TQuickFixIdentifierNotFoundAddLocal.Execute ']); DebugLn(['TQuickFixIdentifierNotFoundAddLocal.Execute Dir=',Msg.Directory,' Msg=',Msg.Msg]);
// get source position // get source position
// (FPC reports position right after the unknown identifier // (FPC reports position right after the unknown identifier
// for example right after FilenameIsAbsolute) // for example right after FilenameIsAbsolute)
if not GetMsgLineFilename(Msg,CodeBuf) then exit; if not GetMsgLineFilename(Msg,CodeBuf) then exit;
Msg.GetSourcePosition(Filename,Caret.Y,Caret.X); Msg.GetSourcePosition(Filename,Caret.Y,Caret.X);
if not LazarusIDE.BeginCodeTools then begin if not LazarusIDE.BeginCodeTools then begin
DebugLn(['TQuickFixIdentifierNotFoundAddLocal.Execute failed because IDE busy']); DebugLn(['TQuickFixIdentifierNotFoundAddLocal.Execute failed because IDE busy']);
exit; exit;

View File

@ -984,9 +984,10 @@ begin
Filename:=copy(Msg,1,FilenameEndPos); Filename:=copy(Msg,1,FilenameEndPos);
if FilenameIsAbsolute(Filename) then begin if FilenameIsAbsolute(Filename) then begin
AbsFilename:=Filename; AbsFilename:=Filename;
CurrentMessageParts.Values['Filename']:=AbsFilename;
end else begin end else begin
AbsFilename:=TrimFilename(fCurrentDirectory+Filename); AbsFilename:=TrimFilename(fCurrentDirectory+Filename);
if not FileExistsUTF8(AbsFilename) then begin if not FileExistsCached(AbsFilename) then begin
AbsFilename:=''; AbsFilename:='';
end; end;
end; end;