Abdelrazak Younes wrote:
> Georg Baum wrote:
> > I am not going to rip the draw machinery apart right now, because I 
don't
> > know enough about it and I also think that now is not the right moment 
to
> > do so.
> 
> Well, your patch is much riskier believe me.

I don't think so: I added the ClearCoordCache flag in _all_ places where 
any update flag apart from None was set. Then I added the calls in 
InsetMathNest that disable this flag, and I changed the update logic to 
only clear the coord cache if the flag is set. That means that apart from 
the lfuns in InsetMathNest the behaviour is identical with and without the 
patch.

> Please wait as this seems clearly a wrong solution to me. I'll try to 
> finish the patch, and I don't think it will be big either.

Since you know this area much better than me I am not going to push my 
solution in, especially since your solution works at least as well :-) I 
came to my solution because even with my limited knowledge I could be sure 
that it will not break anything.

> >     case LFUN_CHAR_FORWARD:
> > -           // FIXME: we have to enable full redraw here because of the
> > -           // visual box corners that define the inset. If we know for
> > -           // sure that we stay within the same cell we can optimize
for
> > -           // that using:
> > -           //cur.updateFlags(Update::FitCursor);
> 
> Hum, even if you commit your patch the FIXME above is still true.

Almost. I added a comment that describes the situation better IMO ;-)


Georg

Reply via email to