I wasted two more nights on that issue.

It's completely dysfunctional now but I think I am getting an idea on
what needs to be done.

Currently I've removed all of update and replaced it by two phase drawing
with full recreation of the row cache. This can be fixed up to 'sort of
works optically and does not look overly sluggish'. [And removed 1100
lines and almost all 'hackish' members of LyXText]

But in addition to the purely cosmetic issues of 'noupdate 2', there are
now lots of (unfixable) hard crashs. The reason is mainly the current
cursor implementation. The stored row iterators get invalidated pretty
fast -> boom.

I do not feel like fixing this (the only way would probably go forward and
re-do the cursor stuff as well) and I am not sure how to proceed. First
of all I think there must be done something really soon now. It is fairly
late in the game, but having e.g. 300 lines for backspace handling alone
and tons of 'FIXMEs' which aren't obviously fixable does not bode well for
the future. So 'just leave it as it is' does not look like an option.

The main problem is that the remaining blob (update + LyXText + cursor +
locking + backpointerage) is too turbid for salami tactics (keep slicing
off small things and it will be gone at the end) and too big even for long
shots.

Comments, ideas? 

Andre'

Reply via email to