From fd78a25a7c0b307da32c7cd805ce9f101160610a Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sun, 23 Jun 2024 14:52:02 +0200 Subject: [PATCH] Only issue currentWorkareaChanged() if the work area really changed. (this function can be called repeatedly while the work area doesn't change any further) --- src/frontends/qt/GuiWorkArea.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp index 625ea51352..c8d60c2093 100644 --- a/src/frontends/qt/GuiWorkArea.cpp +++ b/src/frontends/qt/GuiWorkArea.cpp @@ -1947,12 +1947,15 @@ void TabWorkArea::on_currentTabChanged(int i) if (i == -1) return; GuiWorkArea * wa = workArea(i); + // is it really a different work area? + bool real_change = wa == currentWorkArea(); LASSERT(wa, return); wa->setUpdatesEnabled(true); wa->scheduleRedraw(true); wa->setFocus(); /// - currentWorkAreaChanged(wa); + if (real_change) + currentWorkAreaChanged(wa); LYXERR(Debug::GUI, "currentTabChanged " << i << " File: " << wa->bufferView().buffer().absFileName());