// if the row is too large, try to cut at last separator. In case
// of success, reset indication that the row was broken abruptly.
if (row.shortenIfNeeded(body_pos, width))
- row.right_boundary(false);
+ row.right_boundary(!row.empty() && row.back().endpos == row.endpos());
// make sure that the RTL elements are in reverse ordering
row.reverseRTL(is_rtl);
void TextMetrics::drawParagraph(PainterInfo & pi, pit_type const pit, int const x, int y) const
{
- BufferParams const & bparams = bv_->buffer().params();
ParagraphMetrics const & pm = par_metrics_[pit];
if (pm.rows().empty())
return;
// Row signature; has row changed since last paint?
if (pi.pain.isDrawingEnabled())
- row.setCrc(pm.computeRowSignature(row, bparams));
+ row.setCrc(pm.computeRowSignature(row, *bv_));
bool row_has_changed = row.changed()
|| rowSlice == bv_->lastRowSlice();