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-21 10:28:45 +0200 |
commit | b82f39f29a9ceeacb06ae9d1571665327d3e3019 (patch) | |
tree | 1b93f9837ea5589b9f500049b5fa9ba81a182187 | |
parent | 565bbd2e46e57117eb401344689858c3d749dc5c (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>
(cherry picked from commit fe52c79323f9ac4b5ea61e7d7e5f038552e9a247)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114363
Tested-by: Jenkins
-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 980e887c16e2..015083828bb1 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -3144,10 +3144,25 @@ void ScViewData::CalcPPT() } } - if (nPPTX != nOldPPTX) - GetLOKWidthHelper().invalidateByPosition(0L); - if (nPPTY != nOldPPTY) - GetLOKHeightHelper().invalidateByPosition(0L); + if (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 '/' |