X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Frowpainter.C;h=b7e7761f302aa7a19ba76f93e87c43392fa4a6f2;hb=798af7d8f3a34dbad048934819f9da724882d06d;hp=51d448fd6535bda99025a3af0c76873fb0d946b6;hpb=b2126408cfeaa251bc966e3df49a7000a202add3;p=lyx.git diff --git a/src/rowpainter.C b/src/rowpainter.C index 51d448fd65..b7e7761f30 100644 --- a/src/rowpainter.C +++ b/src/rowpainter.C @@ -138,8 +138,6 @@ RowPainter::RowPainter(PainterInfo & pi, erased_(pi.erased_), xo_(x), yo_(y), width_(text_metrics_.width()) { - Buffer const & buffer = *bv_.buffer(); - int const right_margin = text_metrics_.rightMargin(pm_); RowMetrics m = text_metrics_.computeRowMetrics(pit_, row_); x_ = m.x + xo_; @@ -825,20 +823,6 @@ void RowPainter::paintText() } -size_type calculateRowSignature(Row const & row, Paragraph const & par, - int x, int y) -{ - boost::crc_32_type crc; - for (pos_type i = row.pos(); i < row.endpos(); ++i) { - char_type const b[] = { par.getChar(i) }; - crc.process_bytes(b, 1); - } - char_type const b[] = { x, y, row.width() }; - crc.process_bytes(b, 3); - return crc.checksum(); -} - - bool CursorOnRow(PainterInfo & pi, pit_type const pit, RowList::const_iterator rit, LyXText const & text) { @@ -901,8 +885,7 @@ void paintPar bool tmp = refreshInside; // Row signature; has row changed since last paint? - size_type const row_sig = calculateRowSignature(*rit, par, x, y); - bool row_has_changed = pm.rowSignature()[rowno] != row_sig; + bool row_has_changed = pm.rowChangeStatus()[rowno]; bool cursor_on_row = CursorOnRow(pi, pit, rit, text); bool in_inset_alone_on_row = innerCursorOnRow(pi, pit, rit, @@ -930,9 +913,6 @@ void paintPar // from cache, or cursor is inside an inset _on this row_, // then paint the row if (repaintAll || row_has_changed || cursor_on_row) { - // Add to row signature cache - pm.rowSignature()[rowno] = row_sig; - bool const inside = (y + rit->descent() >= 0 && y - rit->ascent() < ww); // it is not needed to draw on screen if we are not inside.