mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 14:29:36 +02:00
MG: fixed timer checking
git-svn-id: trunk@2120 -
This commit is contained in:
parent
1bd3dc8c42
commit
e90b0b7daf
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user