#include "BufferParams.h"
#include "BufferView.h"
#include "CoordCache.h"
+#include "Cursor.h"
#include "CutAndPaste.h"
#include "debug.h"
#include "FontIterator.h"
#include "ParIterator.h"
#include "rowpainter.h"
#include "Text.h"
+#include "TextClass.h"
#include "VSpace.h"
#include "mathed/MacroTable.h"
Bidi bidi;
+ bool const original_drawing_state = pi.pain.isDrawingEnabled();
+
y -= rb->ascent();
for (RowList::const_iterator rit = rb; rit != re; ++rit) {
y += rit->ascent();
bool const inside = (y + rit->descent() >= 0
&& y - rit->ascent() < ww);
// it is not needed to draw on screen if we are not inside.
- pi.pain.setDrawingEnabled(inside);
+ pi.pain.setDrawingEnabled(inside && original_drawing_state);
RowPainter rp(pi, *text_, pit, *rit, bidi, x, y);
// Row signature; has row changed since last paint?
pi.full_repaint = tmp;
}
// Re-enable screen drawing for future use of the painter.
- pi.pain.setDrawingEnabled(true);
+ pi.pain.setDrawingEnabled(original_drawing_state);
//LYXERR(Debug::PAINTING) << "." << endl;
}