MG: fixed timer checking

git-svn-id: trunk@2120 -
This commit is contained in:
lazarus 2002-08-17 23:40:59 +00:00
parent 1bd3dc8c42
commit e90b0b7daf

View File

@ -1987,35 +1987,35 @@ begin
EventTrace ('TimerCB', nil); EventTrace ('TimerCB', nil);
Result := 0; // assume: timer will stop Result := 0; // assume: timer will stop
TimerInfo:=PGtkITimerinfo(Data);
if (FTimerData=nil) or (FTimerData.IndexOf(Data)<0) then begin if (FTimerData=nil) or (FTimerData.IndexOf(Data)<0) then begin
// timer was killed // timer was killed
Result:=0; // stop timer Result:=0; // stop timer
exit; end else begin
end; if TimerInfo^.TimerFunc <> nil
then begin
TimerInfo:=PGtkITimerinfo(Data); // Call users timer function
if TimerInfo^.TimerFunc <> nil TimerInfo^.TimerFunc(TimerInfo^.Handle,
then begin LM_TIMER,
// Call users timer function TimerInfo^.IDEvent,
TimerInfo^.TimerFunc(TimerInfo^.Handle, 0{WARN: should be: GetTickCount});
LM_TIMER, Result:=1; // timer will go on
TimerInfo^.IDEvent, end
0{WARN: should be: GetTickCount}); else if (pointer (TimerInfo^.Handle) <> nil)
Result:=1; // timer will go on then begin // Handle through default message handler
end Mess.msg := LM_TIMER;
else if (pointer (TimerInfo^.Handle) <> nil) Mess.WParam := TimerInfo^.IDEvent;
then begin // Handle through default message handler Mess.LParam := LongInt (TimerInfo^.TimerFunc);
Mess.msg := LM_TIMER; Mess.Result := 0;
Mess.WParam := TimerInfo^.IDEvent; if DeliverMessage (Pointer (TimerInfo^.Handle), Mess)=0 then
Mess.LParam := LongInt (TimerInfo^.TimerFunc); Result:=1
Mess.Result := 0; else
if DeliverMessage (Pointer (TimerInfo^.Handle), Mess)=0 then Result:=0;
Result:=1 end
else else begin
Result:=0; Result := 0; // stop timer
end end;
else begin
Result := 0; // stop timer
end; end;
if (Result<>0) and (FTimerData.IndexOf(Data)<0) then begin if (Result<>0) and (FTimerData.IndexOf(Data)<0) then begin
@ -2496,6 +2496,9 @@ end;
{ ============================================================================= { =============================================================================
$Log$ $Log$
Revision 1.147 2002/10/15 07:01:29 lazarus
MG: fixed timer checking
Revision 1.146 2002/10/14 19:00:49 lazarus Revision 1.146 2002/10/14 19:00:49 lazarus
MG: fixed zombie timers MG: fixed zombie timers