On Sun, 2002-08-04 at 06:43, Patrick Lam wrote: > On Sat, Aug 03, 2002 at 11:46:29AM +0100, Tomas Frydrych wrote: > > > > Martins doubts about my suggestion to move the cursor timer into a > > separate thread made me go back and study the spell checking > > problem bit more, and it turned out that the problem was not with the > > timer per se being blocked, but elsewhere in > > fl_BlockLayout::_doCheckWord, which I have now fixed. > > > > Enjoy orderly cursor blinking. > > That's cool. But I still think the cursor code really sucks, because > it's really ad-hoc and not abstracted. I think it should be fixed in > a more general way with threads. >
I'm strongly not in favour of threads unless it can directly demonstrated that only threads can solve the problem at hand and even then I'd be worried. I'm by no means convinced that threads will help the cursor blinking problem, even with the nicely abstracted code from Mike's cursor class. Looking at this code it is clear that this really affects a lot of the code. I'd be really wary of implementing it unless the person doing the job was fully committed to following through on it and had no other major job with AbiWord. IMHO we'd be much better off fixing revision marks, hidden text, Footnotes, tables and import/exporting thereof etc before tackling this. Pat, you know how hard it is debug abi code, imagine if you had to deal with threads within the text/* directories. I think you could make a case for threads for the has downloaded as abi is blocked until the dictionary is downloaded. In addition it a rather isolated piece of code that does not affect the rest of the application. Cheers Martin
