\r
uses pgtypes,sysutils,bsearchtree,strings,syncobjs;\r
\r
+\r
+{$if (fpc_version < 2) or ((fpc_version=2) and ((fpc_release < 2) or ((fpc_release = 2) and (fpc_patch < 2)) ))}\r
+ {$error this code is only supported under fpc 2.2.2 and above due to bugs in the eventobject code in older versions}\r
+{$endif}\r
+\r
type\r
lparam=taddrint;\r
wparam=taddrint;\r
//we have to get the window procedure while the structurelock\r
//is still held as the window could be destroyed from another thread\r
//otherwise.\r
- windowproc := window.windowproc;\r
+ if window <> nil then begin
+ windowproc := window.windowproc;\r
+ end else begin
+ windowproc := nil;
+ end;
finally\r
structurelock.release;\r
end;\r
- if window <> nil then begin\r
+ if windowproc <> nil then begin\r
result := windowproc(lpmsg.hwnd,lpmsg.message,lpmsg.wparam,lpmsg.lparam);\r
end else begin\r
result := -1;\r