summaryrefslogtreecommitdiff
path: root/sc/source/ui/docshell
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-06-14 13:10:42 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-06-14 11:58:59 +0000
commit0f258538b842e3a8639efc8c2c7afc16a1b0819e (patch)
treeda51c65173c380d0e60ee0cee38907200e088f2b /sc/source/ui/docshell
parente0681a63566a5e4ccd7570f7884f73b05ba3f349 (diff)
sc: implement per-view LOK_CALLBACK_INVALIDATE_TILES
Port enough callbacks to the view callback, so that gtktiledviewer doesn't crash on opening a file. Change-Id: Iec39608ce3cdf7dcf5a7272f8c9a3415483a8e76 Reviewed-on: https://gerrit.libreoffice.org/26251 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sc/source/ui/docshell')
-rw-r--r--sc/source/ui/docshell/docsh3.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 72bdfadbebaf..20bb96cc3928 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -166,7 +166,19 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, sal_uInt16 nPart, sal_uI
// LOK: we are supposed to update the row / columns headers (and actually
// the document size too - cell size affects that, obviously)
if ((nPart & (PAINT_TOP | PAINT_LEFT)) && comphelper::LibreOfficeKit::isActive() && aDocument.GetDrawLayer())
- aDocument.GetDrawLayer()->libreOfficeKitCallback(LOK_CALLBACK_DOCUMENT_SIZE_CHANGED, "");
+ {
+ if (comphelper::LibreOfficeKit::isViewCallback())
+ {
+ SfxViewShell* pViewShell = SfxViewShell::GetFirst();
+ while (pViewShell)
+ {
+ pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_DOCUMENT_SIZE_CHANGED, "");
+ pViewShell = SfxViewShell::GetNext(*pViewShell);
+ }
+ }
+ else
+ aDocument.GetDrawLayer()->libreOfficeKitCallback(LOK_CALLBACK_DOCUMENT_SIZE_CHANGED, "");
+ }
}
void ScDocShell::PostPaintGridAll()