diff options
author | Jan Holesovsky <kendy@collabora.com> | 2016-12-05 22:45:43 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2016-12-06 08:05:33 +0000 |
commit | fe87a31885dc870a9a8e4c4dcb105a4a5627164f (patch) | |
tree | f5e7ab265ccddd5ca9fb225530bdceb8acfa5c57 /sc/source/ui/view/tabvwsh4.cxx | |
parent | da54ed01e4814290299ebf6a0c5d472cb827f77d (diff) |
Invalidate the entire sheet after having inserted the image.
cp-5.1-14
This is a hack; but the ViewObjectContacts are unreliable with tiled
rendering, and we are missing invalidates due to that.
Change-Id: Ia2475d4a042be1db0ea6f170cf66f271397ee299
Reviewed-on: https://gerrit.libreoffice.org/31659
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'sc/source/ui/view/tabvwsh4.cxx')
-rw-r--r-- | sc/source/ui/view/tabvwsh4.cxx | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 4ef54ad4bce0..aa6f7634fc8f 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -572,7 +572,30 @@ void ScTabViewShell::UpdateDrawShell() SdrView* pDrView = GetSdrView(); if ( pDrView && !pDrView->AreObjectsMarked() && !IsDrawSelMode() ) - SetDrawShell( false ); + { + SetDrawShell(false); + + // FIXME HACK: The ViewObjectContact sdr thing is not set up well + // enough for the invalidate to work here automagically, because + // we set it up for each tile, and it does not survive for too + // long. + if (comphelper::LibreOfficeKit::isActive()) + { + std::stringstream ss; + ss << "EMPTY"; + if (comphelper::LibreOfficeKit::isPartInInvalidation()) + ss << ", " << getPart(); + OString aPayload = ss.str().c_str(); + + SfxViewShell* pCurView = SfxViewShell::GetFirst(); + while (pCurView) + { + pCurView->libreOfficeKitViewCallback(LOK_CALLBACK_INVALIDATE_TILES, aPayload.getStr()); + + pCurView = SfxViewShell::GetNext(*pCurView); + } + } + } } void ScTabViewShell::SetDrawShellOrSub() |