mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-24 16:41:37 +02:00
* fix bug #1604
This commit is contained in:
parent
f959a590fe
commit
bad95b49e2
@ -81,6 +81,7 @@ type
|
||||
ST : PAdvancedStaticText;
|
||||
KeyST : PColorStaticText;
|
||||
constructor Init;
|
||||
destructor Done;virtual;
|
||||
procedure Update;
|
||||
end;
|
||||
|
||||
@ -514,6 +515,12 @@ begin
|
||||
Fillchar(Status,SizeOf(Status),#0);
|
||||
end;
|
||||
|
||||
destructor TCompilerStatusDialog.Done;
|
||||
begin
|
||||
if @Self=CompilerStatusDialog then
|
||||
CompilerStatusDialog:=nil;
|
||||
Inherited Done;
|
||||
end;
|
||||
|
||||
procedure TCompilerStatusDialog.Update;
|
||||
var
|
||||
@ -860,6 +867,8 @@ begin
|
||||
CompilationPhase:=cpCompiling;
|
||||
New(CompilerStatusDialog, Init);
|
||||
CompilerStatusDialog^.SetState(sfModal,true);
|
||||
{ disable window closing }
|
||||
CompilerStatusDialog^.Flags:=CompilerStatusDialog^.Flags and not wfclose;
|
||||
Application^.Insert(CompilerStatusDialog);
|
||||
CompilerStatusDialog^.Update;
|
||||
{ hook compiler output }
|
||||
@ -1019,16 +1028,22 @@ begin
|
||||
else
|
||||
CompilationPhase:=cpFailed;
|
||||
{ Show end status }
|
||||
{ reenable window closing }
|
||||
CompilerStatusDialog^.Flags:=CompilerStatusDialog^.Flags or wfclose;
|
||||
CompilerStatusDialog^.Update;
|
||||
CompilerStatusDialog^.ReDraw;
|
||||
CompilerStatusDialog^.SetState(sfModal,false);
|
||||
if ((CompilationPhase in[cpAborted,cpDone,cpFailed]) or (ShowStatusOnError)) and (Mode<>cRun) then
|
||||
repeat
|
||||
CompilerStatusDialog^.GetEvent(E);
|
||||
if IsExitEvent(E)=false then
|
||||
CompilerStatusDialog^.HandleEvent(E);
|
||||
until IsExitEvent(E);
|
||||
Application^.Delete(CompilerStatusDialog);
|
||||
Dispose(CompilerStatusDialog, Done);
|
||||
until IsExitEvent(E) or not assigned(CompilerStatusDialog);
|
||||
if assigned(CompilerStatusDialog) then
|
||||
begin
|
||||
Application^.Delete(CompilerStatusDialog);
|
||||
Dispose(CompilerStatusDialog, Done);
|
||||
end;
|
||||
CompilerStatusDialog:=nil;
|
||||
{ end compilation returns true if the messagewindow should be removed }
|
||||
if CompilationPhase=cpDone then
|
||||
@ -1233,7 +1248,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 2001-09-12 09:25:01 pierre
|
||||
Revision 1.4 2001-09-18 11:33:26 pierre
|
||||
* fix bug 1604
|
||||
|
||||
Revision 1.3 2001/09/12 09:25:01 pierre
|
||||
* fix bug 1585
|
||||
|
||||
Revision 1.2 2001/08/05 02:01:47 peter
|
||||
|
||||
Loading…
Reference in New Issue
Block a user