summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2018-07-17 19:10:48 +0530
committerpranavk <pranavk@collabora.co.uk>2018-07-18 17:49:37 +0200
commit8de98e61fbc96bf523b3dec7e1e52eb7e2d7693e (patch)
tree46fa0ca01f988485195343730560952fc95bd8b1
parent53352706de3152fe57309a3e2b2ec793949b4413 (diff)
lokdialog: no invalidation when in init show
This improves LOK dialog opening time considerably. libreofficekit/tilebench results: Before: profile run: initialization - 346.5185(ms) load document - 2162.5881(ms) open dialog - 7077.8980(ms) wait for dialog - 52.7742(ms) render dialog - 256.9597(ms) post close dialog - 523.7811(ms) destroy document - 58.3723(ms) Total: 10.4789(s) After: profile run: initialization - 336.5867(ms) load document - 2155.5481(ms) open dialog - 1151.4130(ms) wait for dialog - 51.5332(ms) render dialog - 260.3197(ms) post close dialog - 519.8729(ms) destroy document - 56.7322(ms) Total: 4.5320(s) Change-Id: I6345aca33c5881aba33c8a5f74765b99fe098711 Reviewed-on: https://gerrit.libreoffice.org/57561 Tested-by: Jenkins Reviewed-by: pranavk <pranavk@collabora.co.uk>
-rw-r--r--sd/source/ui/view/sdwindow.cxx4
-rw-r--r--vcl/source/window/window2.cxx2
2 files changed, 3 insertions, 3 deletions
diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx
index cfc5b3f68570..a82f8fff1a28 100644
--- a/sd/source/ui/view/sdwindow.cxx
+++ b/sd/source/ui/view/sdwindow.cxx
@@ -1012,7 +1012,7 @@ Selection Window::GetSurroundingTextSelection() const
void Window::LogicInvalidate(const ::tools::Rectangle* pRectangle)
{
DrawViewShell* pDrawViewShell = dynamic_cast<DrawViewShell*>(mpViewShell);
- if (pDrawViewShell && pDrawViewShell->IsInSwitchPage())
+ if (!pDrawViewShell || pDrawViewShell->IsInSwitchPage())
return;
OString sRectangle;
@@ -1025,7 +1025,7 @@ void Window::LogicInvalidate(const ::tools::Rectangle* pRectangle)
aRectangle = OutputDevice::LogicToLogic(aRectangle, MapMode(MapUnit::Map100thMM), MapMode(MapUnit::MapTwip));
sRectangle = aRectangle.toString();
}
- SfxViewShell& rSfxViewShell = mpViewShell->GetViewShellBase();
+ SfxViewShell& rSfxViewShell = pDrawViewShell->GetViewShellBase();
SfxLokHelper::notifyInvalidation(&rSfxViewShell, sRectangle);
}
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 459557d438b8..096df67d2c99 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -1375,7 +1375,7 @@ void Window::queue_resize(StateChangedType eReason)
if (VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier())
{
- if (GetParentDialog())
+ if (!pParent->IsInInitShow())
LogicInvalidate(nullptr);
}
}