diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-15 16:30:15 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-15 15:50:36 +0000 |
commit | 50787b48a8378a555a71cc2c6b0966debb2e5104 (patch) | |
tree | b915237b20b4d48b819769cd3538a2d2ac1e5d32 /sd | |
parent | 1792493e765f8027c2605bd72b9978c6769a262d (diff) |
sc, sd: add per-view support to recently added LOK_CALLBACK_SET_PART calls
These caushed an assertion failure when opening a Calc or Impress
document in gtktiledviewer.
Change-Id: If9cf1ef6c5a9d8e1b0d578b20dd3f513989b669b
Reviewed-on: https://gerrit.libreoffice.org/26311
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/view/drviews1.cxx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index b120be86f20d..b2711f20b280 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -925,9 +925,18 @@ bool DrawViewShell::SwitchPage(sal_uInt16 nSelectedPage) // never at a masterpage) GetDoc()->SetSelected(mpActualPage, true); - // notify LibreOfficeKit about changed page - OString aPayload = OString::number(nSelectedPage); - GetDoc()->libreOfficeKitCallback(LOK_CALLBACK_SET_PART, aPayload.getStr()); + if (comphelper::LibreOfficeKit::isActive()) + { + // notify LibreOfficeKit about changed page + OString aPayload = OString::number(nSelectedPage); + if (comphelper::LibreOfficeKit::isViewCallback()) + { + if (SfxViewShell* pViewShell = GetViewShell()) + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_SET_PART, aPayload.getStr()); + } + else + GetDoc()->libreOfficeKitCallback(LOK_CALLBACK_SET_PART, aPayload.getStr()); + } rtl::Reference< sd::SlideShow > xSlideshow( SlideShow::GetSlideShow( GetDoc() ) ); if( !xSlideshow.is() || !xSlideshow->isRunning() || ( xSlideshow->getAnimationMode() != ANIMATIONMODE_SHOW ) ) |