summaryrefslogtreecommitdiff
path: root/sd/source/ui/func
diff options
context:
space:
mode:
authorNoel <noel.grandin@collabora.co.uk>2021-03-05 10:47:16 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-03-07 13:24:51 +0100
commit1d2773807f6d2deb1181ef4b14fbdd49ca1d5c14 (patch)
tree788ef3ef220549c9785bcf1f5b35becc176300d4 /sd/source/ui/func
parente4e80ed313882f9ea1b309054e5aa3e839586516 (diff)
ref-count SdrPage
which simplifies ownership handling, particularly with regard to undo/redo Change-Id: Ie8f300ebfdae6db3c06f78a87e35a07497d6b825 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111991 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sd/source/ui/func')
-rw-r--r--sd/source/ui/func/fuexpand.cxx8
-rw-r--r--sd/source/ui/func/fusumry.cxx8
2 files changed, 8 insertions, 8 deletions
diff --git a/sd/source/ui/func/fuexpand.cxx b/sd/source/ui/func/fuexpand.cxx
index b95ad8515b67..ebaa0ee5d944 100644
--- a/sd/source/ui/func/fuexpand.cxx
+++ b/sd/source/ui/func/fuexpand.cxx
@@ -133,7 +133,7 @@ void FuExpandPage::DoExecute( SfxRequest& )
if ( nDepth == 0 )
{
// page with title & structuring!
- SdPage* pPage = mpDoc->AllocSdPage(false);
+ rtl::Reference<SdPage> pPage = mpDoc->AllocSdPage(false);
pPage->SetSize(pActualPage->GetSize() );
pPage->SetBorder(pActualPage->GetLeftBorder(),
pActualPage->GetUpperBorder(),
@@ -142,7 +142,7 @@ void FuExpandPage::DoExecute( SfxRequest& )
pPage->SetName(OUString());
// insert page after current page
- mpDoc->InsertPage(pPage, nActualPageNum + nPos);
+ mpDoc->InsertPage(pPage.get(), nActualPageNum + nPos);
nPos++;
if( bUndo )
@@ -155,7 +155,7 @@ void FuExpandPage::DoExecute( SfxRequest& )
pPage->TRG_SetMasterPageVisibleLayers(aVisibleLayers);
// notes-page
- SdPage* pNotesPage = mpDoc->AllocSdPage(false);
+ rtl::Reference<SdPage> pNotesPage = mpDoc->AllocSdPage(false);
pNotesPage->SetSize(pActualNotesPage->GetSize());
pNotesPage->SetBorder(pActualNotesPage->GetLeftBorder(),
pActualNotesPage->GetUpperBorder(),
@@ -165,7 +165,7 @@ void FuExpandPage::DoExecute( SfxRequest& )
pNotesPage->SetName(OUString());
// insert page after current page
- mpDoc->InsertPage(pNotesPage, nActualPageNum + nPos);
+ mpDoc->InsertPage(pNotesPage.get(), nActualPageNum + nPos);
nPos++;
if( bUndo )
diff --git a/sd/source/ui/func/fusumry.cxx b/sd/source/ui/func/fusumry.cxx
index 5984ffa19d44..5e97176ccc18 100644
--- a/sd/source/ui/func/fusumry.cxx
+++ b/sd/source/ui/func/fusumry.cxx
@@ -63,7 +63,7 @@ rtl::Reference<FuPoor> FuSummaryPage::Create( ViewShell* pViewSh, ::sd::Window*
void FuSummaryPage::DoExecute( SfxRequest& )
{
std::unique_ptr<SdOutliner> pOutl;
- SdPage* pSummaryPage = nullptr;
+ rtl::Reference<SdPage> pSummaryPage;
sal_uInt16 i = 0;
sal_uInt16 nFirstPage = SDRPAGE_NOTFOUND;
sal_uInt16 nSelectedPages = 0;
@@ -126,7 +126,7 @@ void FuSummaryPage::DoExecute( SfxRequest& )
pActualPage->GetLowerBorder() );
// insert page at the back
- mpDoc->InsertPage(pSummaryPage, nCount * 2 + 1);
+ mpDoc->InsertPage(pSummaryPage.get(), nCount * 2 + 1);
if( bUndo )
mpView->AddUndo(mpDoc->GetSdrUndoFactory().CreateUndoNewPage(*pSummaryPage));
@@ -138,7 +138,7 @@ void FuSummaryPage::DoExecute( SfxRequest& )
pSummaryPage->setHeaderFooterSettings(pActualPage->getHeaderFooterSettings());
// notes-page
- SdPage* pNotesPage = mpDoc->AllocSdPage(false);
+ rtl::Reference<SdPage> pNotesPage = mpDoc->AllocSdPage(false);
pNotesPage->SetSize(pActualNotesPage->GetSize());
pNotesPage->SetBorder(pActualNotesPage->GetLeftBorder(),
pActualNotesPage->GetUpperBorder(),
@@ -147,7 +147,7 @@ void FuSummaryPage::DoExecute( SfxRequest& )
pNotesPage->SetPageKind(PageKind::Notes);
// insert page at the back
- mpDoc->InsertPage(pNotesPage, nCount * 2 + 2);
+ mpDoc->InsertPage(pNotesPage.get(), nCount * 2 + 2);
if( bUndo )
mpView->AddUndo(mpDoc->GetSdrUndoFactory().CreateUndoNewPage(*pNotesPage));