On Fri, 2005-12-16 at 11:56 +0100, Jean-Marc Lasgouttes wrote: > >>>>> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: > > Martin> I remember seeing this too. Attached a patch for two places > Martin> where full screen updates would be reasonable but are not > Martin> being done. The text3 one probably addresses Andre's problem. > > Could you elaborate on why these two chunks make sense?
Oops, unrelated experimentation. I thought I had removed them :-( > Martin> The insetcollapsable one is about the "jumping" of the inset > Martin> label from inlined to above, causing "turds" lying around. > > This one looks good, except that I am not sure coordcache.h is needed. Same story here. Junk DNA... > Martin> (And no, a similar patch for Delete is not needed. Don't ask.) > > OK, I won't ask :) The really intended patch attached (curse Evo for not displaying outgoing attachments!) - Martin
Index: text3.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text3.C,v
retrieving revision 1.321
diff -u -p -r1.321 text3.C
--- text3.C 1 Dec 2005 10:28:49 -0000 1.321
+++ text3.C 16 Dec 2005 11:53:43 -0000
@@ -649,6 +649,9 @@ void LyXText::dispatch(LCursor & cur, Fu
case LFUN_BACKSPACE:
if (!cur.selection()) {
if (bv->owner()->getIntl().getTransManager().backspace()) {
+ // Merging paragraphs should force update
+ if (cur.pos() == 0)
+ needsUpdate = true;
backspace(cur);
cur.resetAnchor();
// It is possible to make it a lot faster still
Index: insets/insetcollapsable.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetcollapsable.C,v
retrieving revision 1.280
diff -u -p -r1.280 insetcollapsable.C
--- insets/insetcollapsable.C 24 Oct 2005 09:42:20 -0000 1.280
+++ insets/insetcollapsable.C 16 Dec 2005 11:53:43 -0000
@@ -138,7 +138,10 @@ void InsetCollapsable::metrics(MetricsIn
dim = dimensionCollapsed();
if (status() == Open) {
InsetText::metrics(mi, textdim_);
+ bool oldopeninlined = openinlined_;
openinlined_ = (textdim_.wid + dim.wid <= mi.base.textwidth);
+ if (openinlined_ != oldopeninlined)
+ InsetText::metrics(mi, textdim_);
if (openinlined_) {
dim.wid += textdim_.wid;
dim.des = max(dim.des - textdim_.asc + dim.asc, textdim_.des);
signature.asc
Description: This is a digitally signed message part
