Having looked at the orginal C code, think the code should be...

[pascal]
procedure FE_WaitEvent(event: PSDL_Event);
begin
SDL_LockMutex(eventLock);
while SDL_PollEvent(event) >= 0 do
SDL_CondWait(eventWait, eventLock);
SDL_UnlockMutex(eventLock);
SDL_CondSignal(eventWait);
end;
[/pascal]

I agree with Dean, because SDL_PollEvent return 0 or 1. 0 for no event and 1 if there is an event. It seems pointless to be notified of "no event", but I suppose there may in occasions when you may want to take advantage of that idle time.

The thing I don't quite understand is how I can use FE_WaitEvents to actually be notified of something.