From c3ddaf3fcbc9408487a3ff247f01e95e0b59e8b3 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 15 Jun 2016 14:21:01 +0200 Subject: Fix per-view CppunitTest_libreofficekit_tiledrendering Triggered by: LOK_VIEW_CALLBACK=1 make -sr CppunitTest_libreofficekit_tiledrendering The problem was that on shutdown SfxViewFrame::Current() returns 0 and then SfxLokHelper::getView() should not be called (as documented by an assert() in it). Change-Id: If0475ca591408d5b041c1cbde5b553d0fb8dd056 Reviewed-on: https://gerrit.libreoffice.org/26300 Reviewed-by: Miklos Vajna Tested-by: Jenkins (cherry picked from commit 67f2aee609308ad6d43eed4f0df084e9abd50301) --- desktop/source/lib/lokinteractionhandler.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'desktop/source') diff --git a/desktop/source/lib/lokinteractionhandler.cxx b/desktop/source/lib/lokinteractionhandler.cxx index d37405b6c669..fa682589342f 100644 --- a/desktop/source/lib/lokinteractionhandler.cxx +++ b/desktop/source/lib/lokinteractionhandler.cxx @@ -40,6 +40,7 @@ #include #include +#include #include using namespace com::sun::star; @@ -117,8 +118,8 @@ void LOKInteractionHandler::postError(css::task::InteractionClassification class std::stringstream aStream; boost::property_tree::write_json(aStream, aTree); - std::size_t nView = comphelper::LibreOfficeKit::isViewCallback() ? SfxLokHelper::getView() : 0; - if (m_pLOKDocument && m_pLOKDocument->mpCallbackFlushHandlers[nView]) + std::size_t nView = (comphelper::LibreOfficeKit::isViewCallback() && SfxViewShell::Current()) ? SfxLokHelper::getView() : 0; + if (m_pLOKDocument && m_pLOKDocument->mpCallbackFlushHandlers.size() > nView && m_pLOKDocument->mpCallbackFlushHandlers[nView]) m_pLOKDocument->mpCallbackFlushHandlers[nView]->queue(LOK_CALLBACK_ERROR, aStream.str().c_str()); else if (m_pLOKit->mpCallback) m_pLOKit->mpCallback(LOK_CALLBACK_ERROR, aStream.str().c_str(), m_pLOKit->mpCallbackData); -- cgit