You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libreoffice/0001-Resolves-fdo-60040-cra...

74 lines
3.1 KiB

From 20934180ab2c5978a613668bf8df49a60ba7a686 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 24 Apr 2014 17:10:12 +0100
Subject: [PATCH] Resolves: fdo#60040 crash after undoing master page
application
regression since 839cb94a2bd9dfadb6a7e11a97f0540a78f79b6b
Change-Id: Ie7068ecd1655ecae169948dc1e08330dc4200bf9
---
sd/source/core/drawdoc3.cxx | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index 9986219..ea0b6e0 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -1367,7 +1367,6 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum,
SdPage& rOldNotesMaster = (SdPage&)pNotes->TRG_GetMasterPage();
SdPage* pMaster = NULL;
SdPage* pNotesMaster = NULL;
- SdPage* pPage = NULL;
OUString aOldPageLayoutName(pSelectedPage->GetLayoutName());
OUString aOldLayoutName(aOldPageLayoutName);
sal_Int32 nIndex = aOldLayoutName.indexOf( SD_LT_SEPARATOR );
@@ -1664,7 +1663,7 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum,
{
for (sal_uInt16 nPage = 1; nPage < GetPageCount(); nPage++)
{
- pPage = (SdPage*) GetPage(nPage);
+ SdPage* pPage = (SdPage*) GetPage(nPage);
OUString aTest = pPage->GetLayoutName();
if (aTest == aOldPageLayoutName)
{
@@ -1681,20 +1680,21 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum,
for (std::vector<SdPage*>::iterator pIter = aPageList.begin(); pIter != aPageList.end(); ++pIter)
{
- AutoLayout eAutoLayout = (*pIter)->GetAutoLayout();
+ SdPage* pPage = *pIter;
+ AutoLayout eAutoLayout = pPage->GetAutoLayout();
if( bUndo )
{
SdPresentationLayoutUndoAction * pPLUndoAction =
new SdPresentationLayoutUndoAction
(this,
- ( pPage && pPage->IsMasterPage() ) ? aLayoutName : aOldLayoutName,
+ pPage ? aLayoutName : aOldLayoutName,
aLayoutName,
- eAutoLayout, eAutoLayout, sal_False, *pIter);
+ eAutoLayout, eAutoLayout, sal_False, pPage);
pUndoMgr->AddUndoAction(pPLUndoAction);
}
- (*pIter)->SetPresentationLayout(aLayoutName);
- (*pIter)->SetAutoLayout(eAutoLayout);
+ pPage->SetPresentationLayout(aLayoutName);
+ pPage->SetAutoLayout(eAutoLayout);
}
// Adapt new master pages
@@ -1797,7 +1797,7 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum,
{
for (sal_uInt16 nPage = 1; nPage < GetPageCount(); nPage++)
{
- pPage = (SdPage*) GetPage(nPage);
+ SdPage* pPage = (SdPage*) GetPage(nPage);
if (pPage->GetLayoutName() == aOldPageLayoutName)
{
aPageList.push_back(pPage);
--
1.9.0