On Wed, 2006-11-22 at 17:15 +0200, Martin Vermeer wrote:
> On Wed, 2006-11-22 at 14:45 +0000, [EMAIL PROTECTED] wrote:
> > Author: younes
> > Date: Wed Nov 22 15:45:33 2006
> > New Revision: 16011
> > 
> > URL: http://www.lyx.org/trac/changeset/16011
> > Log:
> > * InsetMathNest::lfunMouseRelease(): keep the optimization only if
> > there is no selection. This allows to shorten the time when the cursor
> > is initially set at the beginning of the math inset.
> > 
> > * InsetMathNest::lfunMousePress(): Disable optimization introduced in
> > revision 16006. This is because we need the box corners when
> > navigating inside formulas.
> > 
> > * InsetMathNest::doDispatch(): ditto.
> > 
> > 
> > Modified:
> >     lyx-devel/trunk/src/mathed/InsetMathNest.C
> > 
> > Modified: lyx-devel/trunk/src/mathed/InsetMathNest.C
> > URL: 
> > http://www.lyx.org/trac/file/lyx-devel/trunk/src/mathed/InsetMathNest.C?rev=16011
> > ==============================================================================
> > --- lyx-devel/trunk/src/mathed/InsetMathNest.C (original)
> > +++ lyx-devel/trunk/src/mathed/InsetMathNest.C Wed Nov 22 15:45:33 2006
> > @@ -493,7 +493,11 @@
> >             break;
> >  
> >     case LFUN_CHAR_FORWARD:
> > -           cur.updateFlags(Update::FitCursor);
> > +           // 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);
> 
> Hmmm, would the construct
> 
>               cur.updateFlags(Update::FitCursor | Update::SinglePar);
> 
> work here? It would update always only the paragraph the math inset is
> in, but the whole screen only if the cursor lands outside it.
> 
> - Martin

OK so I tried this... doesn't work.

The problem is that indeed then only the paragraph containing the math
inset is redrawn (as shown by debug output), including the inset -- but
somehow the corner markers are not reset. I get the impression that
without the updateFlags statement, the whole inset is hierarchically
refreshed*), but with that statement, _even including SinglePar_, no
real refresh appears to take place.

*) Even so, that moving the cursor somewhere in an math array inset will
refresh corner marker "turds" left in other cells of this inset, and at
various nesting depths -- I had for testing modified only "cursor
right", which then started dropping these turds.

This is mysterious.

- Martin

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to