diff options
author | Dennis Francis <dennis.francis@collabora.com> | 2021-04-14 13:26:26 +0530 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2021-04-19 13:09:23 +0200 |
commit | fe52c79323f9ac4b5ea61e7d7e5f038552e9a247 (patch) | |
tree | 6b30b88c71e804d6ea552588c51dc7a3f3c74385 | |
parent | a20fee0312bd3bcf41e88cdb8a84d0ee10de901f (diff) |
lok: fix incomplete/wrong tiles after zoom change and sheet switch
Fix:
Reset position cache for all sheets on zoom change.
Change-Id: I58264d4674d2cb736c702096ffd52faffb603ec6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114227
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
-rw-r--r-- | sc/source/ui/view/viewdata.cxx | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index b1470ad68b44..6b735e21130c 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -3148,10 +3148,25 @@ void ScViewData::CalcPPT() } } - if (nPPTX != nOldPPTX) - GetLOKWidthHelper().invalidateByPosition(0L); - if (nPPTY != nOldPPTY) - GetLOKHeightHelper().invalidateByPosition(0L); + if (pDoc && comphelper::LibreOfficeKit::isActive()) + { + SCTAB nTabCount = maTabData.size(); + bool bResetWidths = (nPPTX != nOldPPTX); + bool bResetHeights = (nPPTY != nOldPPTY); + for (SCTAB nTabIdx = 0; nTabIdx < nTabCount; ++nTabIdx) + { + if (!maTabData[nTabIdx]) + continue; + + if (bResetWidths) + if (auto* pWHelper = GetLOKWidthHelper(nTabIdx)) + pWHelper->invalidateByPosition(0L); + + if (bResetHeights) + if (auto* pHHelper = GetLOKHeightHelper(nTabIdx)) + pHHelper->invalidateByPosition(0L); + } + } } #define SC_OLD_TABSEP '/' |