From 42e9668159e5ede66c175fa51ebac1eb3270c28e Mon Sep 17 00:00:00 2001 From: Martin Vermeer Date: Sat, 31 Dec 2005 11:40:33 +0000 Subject: [PATCH] Singlerow rendering (better) fix for insets git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10693 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/ChangeLog | 5 +++++ src/insets/ChangeLog | 7 ++++++- src/insets/insetcollapsable.C | 3 --- src/text3.C | 8 ++++---- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 58d78eb6d2..0120f0400e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2005-12-31 Martin Vermeer + + * text3.C (dispatch): Force refresh if typing into inset changes its + metrics + 2005-12-30 Martin Vermeer * RowList_fwd.h: diff --git a/src/insets/ChangeLog b/src/insets/ChangeLog index d92960c25f..0b7df590d7 100644 --- a/src/insets/ChangeLog +++ b/src/insets/ChangeLog @@ -1,10 +1,15 @@ +2005-12-31 Martin Vermeer + + * insetcollapsable.C (metrics): reverse patch of 2005-12-16 because + of better fix in text3.C. + 2005-12-12 Georg Baum * insetbase.h (noFontChange): refine documentation 2005-12-16 Martin Vermeer - * insetcollapsable.C: fix "turds" when changing openinlined_ + * insetcollapsable.C (metrics): fix "turds" when changing openinlined_ 2005-12-05 Martin Vermeer diff --git a/src/insets/insetcollapsable.C b/src/insets/insetcollapsable.C index 7d39be20b6..11b02bb1d2 100644 --- a/src/insets/insetcollapsable.C +++ b/src/insets/insetcollapsable.C @@ -138,10 +138,7 @@ void InsetCollapsable::metrics(MetricsInfo & mi, Dimension & dim) const 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); diff --git a/src/text3.C b/src/text3.C index 8ac5424993..bf9f099d7c 100644 --- a/src/text3.C +++ b/src/text3.C @@ -308,8 +308,8 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) // Signals that a full-screen update is required bool needsUpdate = !(lyxaction.funcHasFlag(cmd.action, LyXAction::NoUpdate) || singleParUpdate); - // Remember the old paragraph metric - Dimension olddim = cur.paragraph().dim(); + // Remember the old paragraph metric (_outer_ paragraph!) + Dimension olddim = cur.bottom().paragraph().dim(); switch (cmd.action) { @@ -1531,8 +1531,8 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) if (singleParUpdate) // Inserting characters does not change par height - if (cur.paragraph().dim().asc == olddim.asc - && cur.paragraph().dim().des == olddim.des) { + if (cur.bottom().paragraph().dim().height() + == olddim.height()) { // if so, update _only_ this paragraph cur.bv().update(Update::SinglePar | Update::Force); } else -- 2.39.2