diff options
Diffstat (limited to 'svx/source/sdr/properties/attributeproperties.cxx')
-rw-r--r-- | svx/source/sdr/properties/attributeproperties.cxx | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/svx/source/sdr/properties/attributeproperties.cxx b/svx/source/sdr/properties/attributeproperties.cxx index e53117a4b4..8c97ea69bd 100644 --- a/svx/source/sdr/properties/attributeproperties.cxx +++ b/svx/source/sdr/properties/attributeproperties.cxx @@ -281,7 +281,19 @@ namespace sdr // set stylesheet (if used) if(pStySheet) { - ImpAddStyleSheet(pStySheet, sal_True); + // #i109515# + SfxItemPool* pStyleSheetPool = &pStySheet->GetPool().GetPool(); + + if(pStyleSheetPool == pDestPool) + { + // just re-set stylesheet + ImpAddStyleSheet(pStySheet, sal_True); + } + else + { + // StyleSheet is NOT from the correct pool; use default + ImpAddStyleSheet(pNewModel->GetDefaultStyleSheet(), sal_True); + } } delete pOldSet; @@ -584,22 +596,6 @@ namespace sdr bHintUsed = sal_True; } - // #111111# - // When it's the BackgroundObject, set the MasterPage to changed to - // get a refresh for the evtl. changed BackgroundStyle - - // #114265# - // To only invalidate the page when the StyleSheet change happens, - // some more rigid testing is necessary. - const SfxSimpleHint *pSimpleHint = PTR_CAST(SfxSimpleHint, &rHint); - - if(pSimpleHint - && pSimpleHint->GetId() == SFX_HINT_DATACHANGED - && GetSdrObject().IsMasterPageBackgroundObject()) - { - GetSdrObject().GetPage()->ActionChanged(); - } - if(!bHintUsed) { // forward to SdrObject ATM. Not sure if this will be necessary |