// Don't paint the row if a full repaint has not been requested
// and if it has not changed.
if (!pi.full_repaint && !row_has_changed) {
- // Backup full_repaint status because some Inset (InsetTabular)
- // requires a full repaint
- bool tmp = pi.full_repaint;
// Paint only the insets if the text itself is
// unchanged.
rp.paintOnlyInsets();
y += row.descent();
- // Restore full_repaint status.
- pi.full_repaint = tmp;
continue;
}
Font const font = text_metrics_.getDisplayFont(pit_, pos);
BOOST_ASSERT(inset);
+ // Backup full_repaint status because some insets (InsetTabular)
+ // requires a full repaint
+ bool pi_full_repaint = pi_.full_repaint;
+
// FIXME: We should always use font, see documentation of
// noFontChange() in Inset.h.
pi_.base.font = inset->noFontChange() ?
x_ += dim.width();
+ // Restore full_repaint status.
+ pi_.full_repaint = pi_full_repaint;
+
#ifdef DEBUG_METRICS
int const x1 = int(x_ - dim.width());
Dimension dim2;