Always repaint the gray area below main inset

Now that SingleParUpdate does not always lead to a full screen update
when the height of the paragraph changes (see new behavior of
updateMatrics(bool)), it is necessary to make sure that the grey area
below the main page is always repainted.
This commit is contained in:
Jean-Marc Lasgouttes 2024-04-16 23:55:24 +02:00
parent c1fd622c51
commit 1a11abe439

View File

@ -3711,7 +3711,11 @@ void BufferView::draw(frontend::Painter & pain, bool paint_caret)
// Draw everything. // Draw everything.
tm.draw(pi, 0, y); tm.draw(pi, 0, y);
// and possibly grey out below break;
}
// Possibly grey out below
if (d->update_strategy_ != NoScreenUpdate) {
pair<pit_type, ParagraphMetrics const *> lastpm = tm.last(); pair<pit_type, ParagraphMetrics const *> lastpm = tm.last();
int const y2 = lastpm.second->bottom(); int const y2 = lastpm.second->bottom();
@ -3720,8 +3724,8 @@ void BufferView::draw(frontend::Painter & pain, bool paint_caret)
? Color_background : Color_bottomarea; ? Color_background : Color_bottomarea;
pain.fillRectangle(0, y2, width_, height_ - y2, color); pain.fillRectangle(0, y2, width_, height_ - y2, color);
} }
break;
} }
LYXERR(Debug::PAINTING, (pain.isNull() ? "\t\t --- END NODRAW ---" LYXERR(Debug::PAINTING, (pain.isNull() ? "\t\t --- END NODRAW ---"
: "\t\t *** END DRAWING ***")); : "\t\t *** END DRAWING ***"));