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