[Haskell-cafe] Inconsistent window updates with SDL library

Neil Brown nccb2 at kent.ac.uk
Tue May 17 14:13:47 CEST 2011


On 17/05/11 01:42, Michael Serra wrote:
> eventLoop w cs = do
>   drawCells w cs
>   e <- waitEventBlocking
>   checkEvent e
>     where
>       checkEvent (KeyUp (Keysym SDLK_ESCAPE _ _)) = return ()
>       checkEvent (KeyUp (Keysym SDLK_n _ _))      = eventLoop w $ 
> nextgen cs
>       checkEvent _                                = eventLoop w cs
>
Your code is a bit strange.  It redraws the window every time there is a 
window event (whether its an unrelated key-down or a relevant event).  
So whenever there's some window events, your window rapidly redraws (and 
in a different set of random colours).  I'm not sure this is the 
intended behaviour?  I didn't find any point at which the program didn't 
advance and redraw when I released 'n' -- but I'm not sure if that was 
exactly the problem you're having.  Can you clarify exactly what the 
problem is?  Is that you're not seeing the keypresses being processed, 
or is it that you expect more redrawing than there is, etc?

Thanks,

Neil.



More information about the Haskell-Cafe mailing list