var\r
MsgRec : TMessage;\r
a:integer;\r
+ handled:boolean;\r
begin\r
Result := 0; // This means we handled the message\r
\r
+ handled := false;\r
+\r
{MsgRec.hwnd := ahWnd;}\r
MsgRec.wParam := awParam;\r
MsgRec.lParam := alParam;\r
\r
- dotasks;\r
- case auMsg of\r
+ if (ahwnd = hwndwcore) then begin\r
+ dotasks;\r
+ case auMsg of\r
{$ifndef threadtimer}\r
WM_TIMER: begin\r
+ handled := true;\r
if msgrec.wparam = timerid_wcore then begin\r
a := wcore_timehandler;\r
killtimer(hwndwcore,timerid_wcore);\r
{WINMSG_TASK:dotasks;}\r
\r
WM_CLOSE: begin\r
- {}\r
+ handled := true;\r
end;\r
WM_DESTROY: begin\r
- {}\r
+ handled := true;\r
end;\r
- else\r
- Result := DefWindowProc(ahWnd, auMsg, awParam, alParam)\r
+ end;\r
end;\r
+\r
+ if not handled then Result := DefWindowProc(ahWnd, auMsg, awParam, alParam)\r
end;\r
\r
\r
Msg : TMsg;\r
begin\r
Result := FALSE;\r
- if PeekMessage(Msg, hwndwcore, 0, 0, PM_REMOVE) then begin\r
+ if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin\r
Result := TRUE;\r
DispatchMessage(Msg);\r
end;\r