[LyX/2.5.x] Fixup 1d1f95d2e: do update suppression with a finer grain

Jean-Marc Lasgouttes lasgouttes at lyx.org
Fri Sep 4 14:53:32 UTC 2026


commit 7cccb7b471c3dffa7b3e3c397ce27c87c848ef9a
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Wed Sep 2 11:31:44 2026 +0200

    Fixup 1d1f95d2e: do update suppression with a finer grain
    
    The suppression of updates related to creating a new tab was too broad
    and caused unwanted side effects.
    
    Thanks to Claude for the analysis.
    
    Fixes #13091.
    
    (cherry picked from commit 069711cff5287cd54a3edeb8d507101b37e341f5)
---
 src/frontends/qt/GuiWorkArea.cpp | 5 +++--
 status.25x                       | 2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index e122cb6f63..04646e004e 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -361,7 +361,7 @@ void GuiWorkArea::toggleCaret()
 
 void GuiWorkArea::scheduleRedraw(bool update_metrics)
 {
-	if (!isVisible() || view().busy())
+	if (!isVisible())
 		// No need to redraw in this case.
 		return;
 
@@ -1805,7 +1805,8 @@ void TabWorkArea::on_currentTabChanged(int i)
 	GuiWorkArea * wa = workArea(i);
 	LASSERT(wa, return);
 	wa->setUpdatesEnabled(true);
-	wa->scheduleRedraw(true);
+	if (!wa->view().busy())
+		wa->scheduleRedraw(true);
 	wa->setFocus();
 	// if the work area did change,
 	// inform the view and dialogs
diff --git a/status.25x b/status.25x
index da70df26a7..d995f189ff 100644
--- a/status.25x
+++ b/status.25x
@@ -79,6 +79,8 @@ What's new
 
 - Do not display obsoleted insets in the toolbar menus.
 
+- fix crash on document reload (bug 13091).
+
 
 * INTERNALS
 


More information about the lyx-cvs mailing list