diff options
author | Noel <noel.grandin@collabora.co.uk> | 2021-03-05 10:47:16 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-03-07 13:24:51 +0100 |
commit | 1d2773807f6d2deb1181ef4b14fbdd49ca1d5c14 (patch) | |
tree | 788ef3ef220549c9785bcf1f5b35becc176300d4 /sd/source/ui/func | |
parent | e4e80ed313882f9ea1b309054e5aa3e839586516 (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.cxx | 8 | ||||
-rw-r--r-- | sd/source/ui/func/fusumry.cxx | 8 |
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)); |