summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-08-04 11:37:34 +0200
committerMichael Meeks <michael.meeks@collabora.com>2021-09-16 19:01:07 +0200
commit712c5d7090abea828aff57f199879a7897211680 (patch)
treed2e24d74769c1fbc8cd448bbcb4a15169cc44519 /sd
parentd65e177242f2e7359e17161af5f5092daacc34eb (diff)
improve LOK notifyInvalidation
(*) tweak buffer in SfxLokHelper::notifyInvalidation to be a bit larger, so we avoid the cost of a resize&copy (*) use our optimised OString concatentation instead of going via std::stringstream (*) pass down a pointer to rectangle, instead of a string. later we will use this to avoid doing the stringify until later Change-Id: Ia3e3042bc919d9b9cb80e47a93704eb236438605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119994 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120072 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 417f881d20cafe88a02b64894ba4483875fb9460) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122123
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/view/sdwindow.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx
index eceb4254a1fe..6e9ecc64b2ad 100644
--- a/sd/source/ui/view/sdwindow.cxx
+++ b/sd/source/ui/view/sdwindow.cxx
@@ -1025,18 +1025,19 @@ void Window::LogicInvalidate(const ::tools::Rectangle* pRectangle)
if (!comphelper::LibreOfficeKit::isActive())
return;
- OString sRectangle;
+ ::tools::Rectangle aRectangle;
+ ::tools::Rectangle* pResultRectangle;
if (!pRectangle)
- sRectangle = "EMPTY";
+ pResultRectangle = nullptr;
else
{
- ::tools::Rectangle aRectangle(*pRectangle);
+ aRectangle = *pRectangle;
if (GetMapMode().GetMapUnit() == MapUnit::Map100thMM)
aRectangle = OutputDevice::LogicToLogic(aRectangle, MapMode(MapUnit::Map100thMM), MapMode(MapUnit::MapTwip));
- sRectangle = aRectangle.toString();
+ pResultRectangle = &aRectangle;
}
SfxViewShell& rSfxViewShell = pDrawViewShell->GetViewShellBase();
- SfxLokHelper::notifyInvalidation(&rSfxViewShell, sRectangle);
+ SfxLokHelper::notifyInvalidation(&rSfxViewShell, pResultRectangle);
}
void Window::LogicMouseButtonDown(const MouseEvent& rMouseEvent)