From ffca194466e08691e381d642b07154121edefece Mon Sep 17 00:00:00 2001 From: Tamás Zolnai Date: Thu, 28 Dec 2017 14:42:24 +0100 Subject: tdf#104870 - Impress crashes switching views in read-only mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need to check read only mode similar to SidebarController::CreatePanels() method. Otherwise SfxUnoPanels::getByName() creates an invalid panel. Reviewed-on: https://gerrit.libreoffice.org/47116 Tested-by: Xisco Faulí Reviewed-by: Tamás Zolnai (cherry picked from commit 23a83639f5a06708074b13bc13ea4f6f819f55f0) Change-Id: Ib7801b81c95f3f505a06c00f749ba4ed5809bfe0 Reviewed-on: https://gerrit.libreoffice.org/47138 Tested-by: Xisco Faulí Reviewed-by: Michael Stahl --- sfx2/source/sidebar/UnoPanels.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sfx2/source/sidebar/UnoPanels.cxx b/sfx2/source/sidebar/UnoPanels.cxx index a74763572cdb..49815a9ff649 100644 --- a/sfx2/source/sidebar/UnoPanels.cxx +++ b/sfx2/source/sidebar/UnoPanels.cxx @@ -108,6 +108,9 @@ sal_Bool SAL_CALL SfxUnoPanels::hasByName( const OUString& aName ) iPanel(aPanels.begin()), iEnd(aPanels.end()); iPanel!=iEnd; ++iPanel) { + // Determine if the panel can be displayed. + if(pSidebarController->IsDocumentReadOnly() && !iPanel->mbShowForReadOnlyDocuments) + continue; if (iPanel->msId == aName) return true; } -- cgit