
Hello! I ve some questions in connection with GTK2HS and threadDelay. GTK2HS is a well known GUI tool for Haskell, I wanted to draw with it (in Cairo). The threadDelay is the function from Control.Concurrent. I wanted nothing else but make my unthreaded program wait for X microseconds. (one-threaded) Consider the following parts from a code: -- onClick event for a button onClicked (btn gui) (drawProgram gui preprocPrg) -- code for drawProgram drawProgram gui preprocPrg = do let drArea = (drawWin gui) drw <- widgetGetDrawWindow drArea renderWithDrawable drw (myDraw 200 200) threadDelay 1800000 renderWithDrawable drw (myDraw2 200 200) I expect this code to do the following: when somebody clicks the button "btn" from record gui, the program draws something, and then waits for 1800000 microsecs (I hope threadDelay is measured in microsecs), and then draws something else. In fact, the code doesnt do this, but waits 1800000+ microsecs, and draws everything at the same time. Is there an error somewhere? MyDraw functions are: myDraw w h = do setSourceRGB 255 0 0 setLineWidth 2 moveTo (0.5 * w) (0.43 * h) lineTo (0.33 * w) (0.71 * h) stroke myDraw2 w h = do moveTo (0.33 * w) (0.71 * h) setSourceRGB 1 2 0 setLineWidth 15 lineTo (0.66 * w) (0.71 * h) lineTo (0.5 * w) (0.43 * h) stroke If it is needed, I ll give more information and code. Thank you for your help! Gabor Hosszu