Reset the (running) change in PainterInfo

When an InsetText is deleted, all lines in the inset are painted as
deleted. This status should be restored afterwards. If not, insets will be
painted in the wrong color afterwards (e.g. tables).
This commit is contained in:
Vincent van Ravesteijn 2012-04-29 13:44:58 +02:00
parent 14ef7d2b82
commit af4e31ec28

View File

@ -128,6 +128,7 @@ void RowPainter::paintInset(Inset const * inset, pos_type const pos)
pi_.base.font = inset->inheritFont() ? font.fontInfo() :
pi_.base.bv->buffer().params().getFont().fontInfo();
pi_.ltr_pos = (bidi_.level(pos) % 2 == 0);
Change prev_change = change_;
pi_.change_ = change_.changed() ? change_ : par_.lookupChange(pos);
int const x1 = int(x_);
@ -147,6 +148,7 @@ void RowPainter::paintInset(Inset const * inset, pos_type const pos)
// Restore full_repaint status.
pi_.full_repaint = pi_full_repaint;
pi_.change_ = prev_change;
#ifdef DEBUG_METRICS
int const x2 = x1 + dim.wid;