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