fix for the linux version (6ef73e5)

This commit is contained in:
Basile Burg 2014-11-16 01:39:54 +01:00
parent 6ef73e5b0b
commit 5364af90a4
2 changed files with 8 additions and 7 deletions

View File

@ -218,20 +218,21 @@ constructor TCheckedAsyncProcess.Create(aOwner: TComponent);
begin begin
inherited; inherited;
fTimer := TIdleTimer.Create(self); fTimer := TIdleTimer.Create(self);
fTimer.Interval:=50; fTimer.Enabled := false;
fTimer.Enabled:=false; fTimer.Interval :=50;
fTimer.OnTimer:=@checkTerminated; fTimer.AutoEnabled := false;
end; end;
procedure TCheckedAsyncProcess.Execute; procedure TCheckedAsyncProcess.Execute;
begin begin
if OnTerminate <> nil then fTimer.Enabled :=true;
fTimer.OnTimer := @checkTerminated;
inherited; inherited;
if OnTerminate <> nil then
fTimer.Enabled:=true;
end; end;
procedure TCheckedAsyncProcess.checkTerminated(sender: TObject); procedure TCheckedAsyncProcess.checkTerminated(sender: TObject);
begin begin
if Running then exit;
if OnTerminate = nil then exit; if OnTerminate = nil then exit;
fTimer.Enabled:=false; fTimer.Enabled:=false;
OnTerminate(Self); OnTerminate(Self);

View File

@ -23,7 +23,7 @@ type
procedure TreeFilterEdit1AfterFilter(Sender: TObject); procedure TreeFilterEdit1AfterFilter(Sender: TObject);
procedure TreeKeyPress(Sender: TObject; var Key: char); procedure TreeKeyPress(Sender: TObject; var Key: char);
private private
fDmdProc: TAsyncProcess; fDmdProc: TCheckedAsyncProcess;
fLogMessager: TCELogMessageSubject; fLogMessager: TCELogMessageSubject;
fActRefresh: TAction; fActRefresh: TAction;
fActRefreshOnChange: TAction; fActRefreshOnChange: TAction;
@ -353,7 +353,7 @@ begin
// standard process options // standard process options
killProcess(fDmdProc); killProcess(fDmdProc);
fDmdProc := TAsyncProcess.Create(nil); fDmdProc := TCheckedAsyncProcess.Create(nil);
fDmdProc.ShowWindow := swoHIDE; fDmdProc.ShowWindow := swoHIDE;
fDmdProc.Options := []; fDmdProc.Options := [];
fDmdProc.Executable := 'dmd'; fDmdProc.Executable := 'dmd';