* Added WaitFor to fix 18044

git-svn-id: trunk@16468 -
This commit is contained in:
michael 2010-11-28 20:15:22 +00:00
parent df8413a422
commit 6954c0a598

View File

@ -182,6 +182,7 @@ Type
TFPThreadedTimerDriver = Class(TFPTimerDriver)
Private
FThread : TFPTimerThread;
Procedure DoNilTimer(Sender : TObject);
Public
Procedure StartTimer; override;
Procedure StopTimer; override;
@ -242,10 +243,17 @@ end;
TFPThreadedTimerDriver
---------------------------------------------------------------------}
Procedure TFPThreadedTimerDriver.DoNilTimer(Sender : TObject);
begin
FThread:=Nil;
end;
Procedure TFPThreadedTimerDriver.StartTimer;
begin
FThread:=TFPTimerThread.CreateTimerThread(Self);
FThread.OnTerminate:=@DoNilTimer;
FThread.Resume;
end;
@ -253,8 +261,9 @@ Procedure TFPThreadedTimerDriver.StopTimer;
begin
FThread.FTimerDriver:=Nil;
FThread.Terminate; // Will free itself.
FThread:=Nil;
CheckSynchronize; // make sure thread is not stuck at synchronize call.
If Assigned(FThread) then
Fthread.WaitFor;
end;