From: Juergen Spitzmueller Date: Sun, 23 Jun 2024 12:52:02 +0000 (+0200) Subject: Only issue currentWorkareaChanged() if the work area really changed. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=f9dccb9afb9f47f724e4c24558b64baf3da4397b;p=lyx.git Only issue currentWorkareaChanged() if the work area really changed. (this function can be called repeatedly while the work area doesn't change any further) (cherry picked from commit fd78a25a7c0b307da32c7cd805ce9f101160610a) --- diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp index 30048e41fe..bce62416cc 100644 --- a/src/frontends/qt/GuiWorkArea.cpp +++ b/src/frontends/qt/GuiWorkArea.cpp @@ -1950,12 +1950,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());