summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2021-04-14 13:26:26 +0530
committerMichael Meeks <michael.meeks@collabora.com>2021-04-21 10:28:45 +0200
commitb82f39f29a9ceeacb06ae9d1571665327d3e3019 (patch)
tree1b93f9837ea5589b9f500049b5fa9ba81a182187
parent565bbd2e46e57117eb401344689858c3d749dc5c (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.cxx23
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 '/'