summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-19 12:24:02 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-09-19 12:26:09 +0100
commit914d72ee1edb351e4975a516240a38696f619217 (patch)
treeb1e95f1ecb12fe808aa82e5b374e6368a4bea1d0 /sd
parente58324aaca6875dbfe7c6c8333d747d2bfd9d089 (diff)
Related: rhbz#1353069 don't clear XATTR_FILL* from stylesheet if...
This is similar to de4908eb4d2f1f2ce38a37eea18a9efc4a0073b1 where the master page is not the sole owner. Which happens when copying and pasting slides which bring along a duplicate master page to an already existing one, and the attempt to remove the duplicate strips the fill properties from the shared stylesheet in use by the other regression from... commit b876bbe2cacce8af379b10d82da6c7e7d229b361 Author: David Tardon <dtardon@redhat.com> Date: Tue Apr 26 09:17:11 2016 +0200 rbhz#1326602 avoid exp. bg bitmaps from deleted slides Change-Id: I0a3a34ade2ad8464b1edb67a6e28dab45c761a2c
Diffstat (limited to 'sd')
-rw-r--r--sd/source/core/drawdoc3.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index 2c090c0db1fb..0db59ddd32c7 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -1243,6 +1243,7 @@ void SdDrawDocument::RemoveUnnecessaryMasterPages(SdPage* pMasterPage, bool bOnl
{
// Do not delete master pages that have their precious flag set
bool bDeleteMaster = !pMaster->IsPrecious();
+ bool bSoleOwnerOfStyleSheet = true;
OUString aLayoutName = pMaster->GetLayoutName();
if(bOnlyDuplicatePages )
@@ -1257,6 +1258,10 @@ void SdDrawDocument::RemoveUnnecessaryMasterPages(SdPage* pMasterPage, bool bOnl
{
// duplicate page found -> remove it
bDeleteMaster = true;
+
+ const SfxStyleSheet* pRefSheet = pMaster->getSdrPageProperties().GetStyleSheet();
+ const SfxStyleSheet* pTestSheet = pMPg->getSdrPageProperties().GetStyleSheet();
+ bSoleOwnerOfStyleSheet = pRefSheet != pTestSheet;
}
}
}
@@ -1290,7 +1295,7 @@ void SdDrawDocument::RemoveUnnecessaryMasterPages(SdPage* pMasterPage, bool bOnl
delete pNotesMaster;
if( bUndo )
- AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pMaster));
+ AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pMaster, bSoleOwnerOfStyleSheet));
RemoveMasterPage( pMaster->GetPageNum() );