[LyX features/biginset] Always repaint the gray area below main inset
Jean-Marc Lasgouttes
lasgouttes at lyx.org
Wed Apr 17 21:24:02 UTC 2024
commit 3953698d9af73e647280308a75b7716d7054955c
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Apr 16 23:55:24 2024 +0200
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 1a11abe4394272f521cd63993e426c136e0e9b6c)
---
src/BufferView.cpp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 1056459ea2..e1527b6548 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -3656,7 +3656,11 @@ void BufferView::draw(frontend::Painter & pain, bool paint_caret)
// Draw everything.
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();
int const y2 = lastpm.second->bottom();
@@ -3665,8 +3669,8 @@ void BufferView::draw(frontend::Painter & pain, bool paint_caret)
? Color_background : Color_bottomarea;
pain.fillRectangle(0, y2, width_, height_ - y2, color);
}
- break;
}
+
LYXERR(Debug::PAINTING, (pain.isNull() ? "\t\t --- END NODRAW ---"
: "\t\t *** END DRAWING ***"));
More information about the lyx-cvs
mailing list