From 43e241541eefd21cfc7a8e8f51ef958c2a7ba4d7 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 30 Sep 2016 13:43:07 +0100 Subject: Resolves: tdf#101004 crash on using slide master design from master view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit started asserting since... commit f7ed8b99b628625851fb28ec1a3dead710c8871c Author: Caolán McNamara Date: Tue Jun 23 16:54:52 2015 +0100 allow slide design to affect multiple standard pages but looks broken well before that Change-Id: I03988696e7a25e4f8c932f55bcd1879994ac1005 --- sd/source/ui/func/fuprlout.cxx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'sd/source/ui/func') diff --git a/sd/source/ui/func/fuprlout.cxx b/sd/source/ui/func/fuprlout.cxx index b480102ca97a..b10fb9882170 100644 --- a/sd/source/ui/func/fuprlout.cxx +++ b/sd/source/ui/func/fuprlout.cxx @@ -136,12 +136,6 @@ void FuPresentationLayout::DoExecute( SfxRequest& rReq ) } } - assert(!aSelectedPages.empty() && "no selected page"); - OUString aOldLayoutName(aSelectedPages.back()->GetLayoutName()); - sal_Int32 nPos = aOldLayoutName.indexOf(SD_LT_SEPARATOR); - if (nPos != -1) - aOldLayoutName = aOldLayoutName.copy(0, nPos); - bool bMasterPage = bOnMaster; bool bCheckMasters = false; @@ -154,7 +148,15 @@ void FuPresentationLayout::DoExecute( SfxRequest& rReq ) aSet.Put( SfxBoolItem( ATTR_PRESLAYOUT_LOAD, bLoad)); aSet.Put( SfxBoolItem( ATTR_PRESLAYOUT_MASTER_PAGE, bMasterPage ) ); aSet.Put( SfxBoolItem( ATTR_PRESLAYOUT_CHECK_MASTERS, bCheckMasters ) ); - aSet.Put( SfxStringItem( ATTR_PRESLAYOUT_NAME, aOldLayoutName)); + + if (!aSelectedPages.empty()) + { + OUString aOldLayoutName(aSelectedPages.back()->GetLayoutName()); + sal_Int32 nPos = aOldLayoutName.indexOf(SD_LT_SEPARATOR); + if (nPos != -1) + aOldLayoutName = aOldLayoutName.copy(0, nPos); + aSet.Put(SfxStringItem(ATTR_PRESLAYOUT_NAME, aOldLayoutName)); + } const SfxItemSet *pArgs = rReq.GetArgs (); @@ -237,7 +239,7 @@ void FuPresentationLayout::DoExecute( SfxRequest& rReq ) static_cast(mpView)->BlockPageOrderChangedHint(false); // if the master page was visible, show it again - if (!bError) + if (!bError && !aSelectedPages.empty()) { if (bOnMaster) { -- cgit