Le 09/04/2024 à 22:26, Scott Kostyshak a écrit :
Bisect leads to here: 5e857883. Interestingly I bisected on the command
buffer recipe, but the commit talks about math but I guess they're
related issues.

What about this, which fixes up another commit?

JMarc


From cffabe3ecb231d73c4f38895233fc69ed6427cd0 Mon Sep 17 00:00:00 2001
From: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date: Wed, 10 Apr 2024 12:31:12 +0200
Subject: [PATCH] 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;
 }
 
 
-- 
2.40.1

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to