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.

(cherry picked from commit 1a11abe439)
This commit is contained in:
Jean-Marc Lasgouttes 2024-04-16 23:55:24 +02:00
parent 15eef6a2c7
commit c9f5f34fd7

View File

@ -3701,7 +3701,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();
@ -3710,8 +3714,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 ***"));