On Tue, 09 Feb 2010 14:18:32 GMT, Rik Griffin wrote: > In message <[email protected]> I wrote: > > > > > gui_multitask was called during a fetch, Wimp_Poll always returned > > immediately with a Wimp redraw window event, hence never yielding to > > other applications. > > It occurs to me that this hack imposes a global redraw interval on the > status bar, and it could be argued that this should be handled on a > per-window basis. I assume this would involve storing the timestamp of the > last redraw in the "struct status_bar" that is passed to the redraw > function. > > Alternatively you could say it should be global, as the Wimp is a global > resource, and you don't want to stop multitasking if the user opens a lot > of windows.
I'd argue that any slowing down of updates might be a core thing - there probably isn't a need for the status bar to update every 10ms if nothing is happening (every half or whole second should be sufficient) Note also that NetSurf sometimes signals the core to update the status message even if it hasn't changed. You can get rid of a lot of unnecessary updates just by comparing the new string to the one currently being displayed. Maybe this is enough to resolve the issue? Chris
