diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2021-09-24 11:25:27 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2021-10-15 13:39:43 +0200 |
commit | 3b729db05553c1a6d461fb41c89a05702f407448 (patch) | |
tree | 42a0195fe2dd40a97126b5e0fd4c4d55b737ed10 /sc/source/ui/view/tabview5.cxx | |
parent | af908d9f18fbb83a5c393f856026cebefd821f18 (diff) |
do not use text-based LOK callback internally
CallbackFlushHandler post-processes LOK messages, but for things
like dropping useless invalidations it needs to know the rectangle
or the view id, and since the only data it gets are string messages,
it needs to convert those back to binary form. Which is slow
with large numbers of messages.
Add internal LOK callback variant that allows also passing
specific data in the original binary form. And then use directly
the binary data in CallbackFlushHandler.
Change-Id: I8dd30d2ff9c09feadebc31a44d8e6a8ccc306504
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123589
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'sc/source/ui/view/tabview5.cxx')
-rw-r--r-- | sc/source/ui/view/tabview5.cxx | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx index fc5bd4ccf6f0..5e6d7be6d392 100644 --- a/sc/source/ui/view/tabview5.cxx +++ b/sc/source/ui/view/tabview5.cxx @@ -347,8 +347,7 @@ void ScTabView::TabChanged( bool bSameTabButMoved ) // Invalidate first tools::Rectangle aRectangle(0, 0, 1000000000, 1000000000); - OString sPayload = aRectangle.toString() + ", " + OString::number(aViewData.GetTabNo()); - pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_INVALIDATE_TILES, sPayload.getStr()); + pViewShell->libreOfficeKitViewInvalidateTilesCallback(&aRectangle, aViewData.GetTabNo()); ScModelObj* pModel = comphelper::getFromUnoTunnel<ScModelObj>(pViewShell->GetCurrentDocument()); SfxLokHelper::notifyDocumentSizeChanged(pViewShell, sRect, pModel, false); |