You might want to check out Mike Nordell's cursor patch in Sam's patch archive 
(http://www.abisource.com/~sam). I think that jskov worked on it a bit too, so you 
might want to get in touch with him too.

Dom

On Friday, August 2, 2002, at 09:34  AM, Tomas Frydrych wrote:

>
> We have got a problem in the mechanism that blinks the cursor. The
> blinking is done via a timer and if we happen to be in another timer
> context, the auto-update gets blocked until the timer-triggered code
> finishes execution, and so the cursor does not blink.
>
> A current example of this is the background spell checker. To avoid
> the cursor disappearing while doing the background checking, on
> entry into fl_BlockLayout::checkSpelling() we flick the cursor off and
> then flick it on again just before we leave. This results in erratic
> blinking since the interval of the blink is dictated by the time it takes
> to spellcheck the current block, which is considerable for long
> blocks and virtually null for short blocks (load a reasonably long
> document, say 50 pages, and watch the behaviour of the cursor
> immediately after the loading of the document finishes).
>
> Now, I could improve the code in fl_BlockLayout::checkSpelling() so
> that it does not flick the cursor more often than every 500 ms, but
> that seems like treating the symptoms, not the problem. It would
> seem to me that the proper solution would be to have the cursor-
> blinking timer running in a separate thread, so that it does not get
> blocked by other timer events in the main thead. This way we could
> remove all the cursor-handling stuff from the spellchecking code,
> and would not need to worry about the cursor if/when in the future
> we implement other timer-driven stuff.
>
> What do you think about the suggestion?
>
> Tomas

Reply via email to