sw/source/uibase/uiview/viewtab.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
New commits: commit f344daa0b8b2c7ff75ae086966fc1ac1894ce1cc Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Fri Jun 21 08:26:52 2024 +0200 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Jun 21 16:03:41 2024 +0200 sw: fix assertion failure in SwView::ExecTabWin() Crashreport signature: > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_algo.h:3623: constexpr const _Tp& std::clamp(const _Tp&, const _Tp&, const _Tp&) [with _Tp = long int]: Assertion '!(__hi < __lo)' failed. > program/libswlo.so > long const& std::clamp<long>(long const&, long const&, long const&) > ??:? > program/libswlo.so > SwView::ExecTabWin(SfxRequest const&) > sw/source/uibase/uiview/viewtab.cxx:1139 > program/libmergedlo.so > SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) > sfx2/source/control/dispatch.cxx:257 Change-Id: I659fce002e5672c1c8c75fd130c7aae5b6a44460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169316 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx index 1bf1e27a2a66..77405745259d 100644 --- a/sw/source/uibase/uiview/viewtab.cxx +++ b/sw/source/uibase/uiview/viewtab.cxx @@ -1136,7 +1136,10 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) { auto & rEntry = aTabCols.GetEntry(nIndex); tools::Long nNewPosition = rEntry.nPos + nOffset; - nNewPosition = std::clamp(nNewPosition, rEntry.nMin, rEntry.nMax - constDistanceOffset); + tools::Long nMax = rEntry.nMax - constDistanceOffset; + if (nMax < rEntry.nMin) + nMax = rEntry.nMin; + nNewPosition = std::clamp(nNewPosition, rEntry.nMin, nMax); rEntry.nPos = nNewPosition; }