From: Vincent van Ravesteijn Date: Sun, 29 Apr 2012 11:44:58 +0000 (+0200) Subject: Reset the (running) change in PainterInfo X-Git-Tag: 2.0.4~120 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a102ba75647b6c7a5e5f871ab34733287ed8b6b7;p=features.git 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). (cherry picked from commit af4e31ec28c71815ca07bebd6e5c3893535f4bf8) --- diff --git a/src/rowpainter.cpp b/src/rowpainter.cpp index bcbf6da6fb..fb14008434 100644 --- a/src/rowpainter.cpp +++ b/src/rowpainter.cpp @@ -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; diff --git a/status.20x b/status.20x index fa19bc7b92..fde5f32950 100644 --- a/status.20x +++ b/status.20x @@ -157,6 +157,9 @@ What's new - Fix erroneous error message when calling "buffer-language" manually. +- Fix coloring of insets that come after deleted text insets with + change tracking on. + * DOCUMENTATION AND LOCALIZATION