commit 83e7c74f6b4ce06936f11a5239a6c88f019a43ff
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Wed Apr 10 12:31:12 2024 +0200
Fixup 'Avoid metrics computation on resize when width did not change'
When the width of the window did not change, computing full metrics is
not necessary in BufferView::resize(), but it is better to redraw the
screen (especially with Wayland).
Typical use cases are when using M-x to open the minibuffer or going
in and out of an equation (which shows/hides the math toolbars).
---
src/BufferView.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index b5bf6d6ea1..acf80d7871 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2529,8 +2529,11 @@ void BufferView::resize(int width, int height)
// Clear the paragraph height cache.
d->par_height_.clear();
// Redo the metrics.
- updateMetrics();
+ updateMetrics(true);
}
+ // metrics is OK, full drawing is necessary now
+ d->update_flags_ = (d->update_flags_ & ~Update::Force) |
Update::ForceDraw;
+ d->update_strategy_ = FullScreenUpdate;
}
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs