RE: [Fresco-devel] animation
Nathaniel Smith <[email protected]>
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
>===== Original Message From Nick Lewycky <[email protected]> ===== >Stefan Seefeld wrote: >> Nick Lewycky wrote: >> >>> Jay McCarthy wrote: >> >>> Would it be stupid and lurker-ish to suggest that damage generate an >>> event and thus the code would remain the same? >>> >>> Not at all, it sounds like a reasonable solution. Looking into it I >>> found that the event manager doesn't block on its own, but calls >>> Console->next_event() which blocks. This means that the only events it >>> can receive are ones that come in from GGI or SDL. >> >> the 'event loop' the repair thread is sitting in is receiving input from >> the input devices as well as a pipe the ScreenManager is connected to. >> If you call 'need_redraw' on any graphic, it will result in the >> ScreenManager to 'wake_up' the repair thread by means of that pipe. >> That's about as event driven as you can get. > >You're right. A quick hack to delay the need_redraw request until after >the traversal has completed fixes everything. Thank you. Hmm, how silly. Shouldn't redraw requests that occur during the traversal queue up to be processed after the traversal finishes? Or if this is what happens, then shouldn't the repair thread check that queue? -- Nathaniel