sc/source/core/data/docpool.cxx | 12 +++++----- sc/source/filter/xml/xmlfonte.cxx | 44 +++++++++++++++++--------------------- 2 files changed, 26 insertions(+), 30 deletions(-)
New commits: commit 963d41f30fec6a3df5c67f9def59b1d5e2b224df Author: Noel Grandin <[email protected]> AuthorDate: Wed Jul 2 15:01:26 2025 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Jul 2 18:42:27 2025 +0200 ATTR_PAGE_* no more surrogates we can find the information we want without resorting to using the surrogate functionality Change-Id: I3107adf3e3a518faf8b6f3a417c04ccb5f485c8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187281 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx index 668448e0e531..b640d7540cb9 100644 --- a/sc/source/core/data/docpool.cxx +++ b/sc/source/core/data/docpool.cxx @@ -174,12 +174,12 @@ static ItemInfoPackage& getItemInfoPackageScDocument() { ATTR_PAGE_SCALE, new SfxUInt16Item( ATTR_PAGE_SCALE, 100 ), 0, SFX_ITEMINFOFLAG_NONE }, { ATTR_PAGE_SCALETOPAGES, new SfxUInt16Item( ATTR_PAGE_SCALETOPAGES, 1 ), 0, SFX_ITEMINFOFLAG_NONE }, { ATTR_PAGE_FIRSTPAGENO, new SfxUInt16Item( ATTR_PAGE_FIRSTPAGENO, 1 ), 0, SFX_ITEMINFOFLAG_NONE }, - { ATTR_PAGE_HEADERLEFT, new ScPageHFItem( ATTR_PAGE_HEADERLEFT ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, - { ATTR_PAGE_FOOTERLEFT, new ScPageHFItem( ATTR_PAGE_FOOTERLEFT ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, - { ATTR_PAGE_HEADERRIGHT, new ScPageHFItem( ATTR_PAGE_HEADERRIGHT ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, - { ATTR_PAGE_FOOTERRIGHT, new ScPageHFItem( ATTR_PAGE_FOOTERRIGHT ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, - { ATTR_PAGE_HEADERFIRST, new ScPageHFItem( ATTR_PAGE_HEADERFIRST ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, - { ATTR_PAGE_FOOTERFIRST, new ScPageHFItem( ATTR_PAGE_FOOTERFIRST ), 0, SFX_ITEMINFOFLAG_SUPPORT_SURROGATE }, + { ATTR_PAGE_HEADERLEFT, new ScPageHFItem( ATTR_PAGE_HEADERLEFT ), 0, SFX_ITEMINFOFLAG_NONE }, + { ATTR_PAGE_FOOTERLEFT, new ScPageHFItem( ATTR_PAGE_FOOTERLEFT ), 0, SFX_ITEMINFOFLAG_NONE }, + { ATTR_PAGE_HEADERRIGHT, new ScPageHFItem( ATTR_PAGE_HEADERRIGHT ), 0, SFX_ITEMINFOFLAG_NONE }, + { ATTR_PAGE_FOOTERRIGHT, new ScPageHFItem( ATTR_PAGE_FOOTERRIGHT ), 0, SFX_ITEMINFOFLAG_NONE }, + { ATTR_PAGE_HEADERFIRST, new ScPageHFItem( ATTR_PAGE_HEADERFIRST ), 0, SFX_ITEMINFOFLAG_NONE }, + { ATTR_PAGE_FOOTERFIRST, new ScPageHFItem( ATTR_PAGE_FOOTERFIRST ), 0, SFX_ITEMINFOFLAG_NONE }, { ATTR_PAGE_HEADERSET, nullptr, SID_ATTR_PAGE_HEADERSET, SFX_ITEMINFOFLAG_NONE }, { ATTR_PAGE_FOOTERSET, nullptr, SID_ATTR_PAGE_FOOTERSET, SFX_ITEMINFOFLAG_NONE }, { ATTR_PAGE_FORMULAS, new SfxBoolItem( ATTR_PAGE_FORMULAS, false ), 0, SFX_ITEMINFOFLAG_NONE }, diff --git a/sc/source/filter/xml/xmlfonte.cxx b/sc/source/filter/xml/xmlfonte.cxx index 6c14af4ca4fc..4575fc8abd46 100644 --- a/sc/source/filter/xml/xmlfonte.cxx +++ b/sc/source/filter/xml/xmlfonte.cxx @@ -79,7 +79,7 @@ ScXMLFontAutoStylePool_Impl::ScXMLFontAutoStylePool_Impl(ScDocument* pDoc, ScXML ATTR_CTL_FONT }; sal_uInt16 const aEditWhichIds[] { EE_CHAR_FONTINFO, EE_CHAR_FONTINFO_CJK, EE_CHAR_FONTINFO_CTL }; - sal_uInt16 const aPageWhichIds[] { ATTR_PAGE_HEADERLEFT, ATTR_PAGE_FOOTERLEFT, + TypedWhichId<ScPageHFItem> const aPageWhichIds[] { ATTR_PAGE_HEADERLEFT, ATTR_PAGE_FOOTERLEFT, ATTR_PAGE_HEADERRIGHT, ATTR_PAGE_FOOTERRIGHT, ATTR_PAGE_HEADERFIRST, ATTR_PAGE_FOOTERFIRST }; @@ -105,31 +105,27 @@ ScXMLFontAutoStylePool_Impl::ScXMLFontAutoStylePool_Impl(ScDocument* pDoc, ScXML while (pStyle) { - const SfxItemPool& rPagePool(pStyle->GetPool()->GetPool()); - - for (sal_uInt16 nPageWhichId : aPageWhichIds) + for (const TypedWhichId<ScPageHFItem>& nPageWhichId : aPageWhichIds) { - for (const SfxPoolItem* pItem : rPagePool.GetItemSurrogates(nPageWhichId)) + const SfxItemSet& rItemSet = pStyle->GetItemSet(); + const ScPageHFItem* pPageItem = &rItemSet.Get( nPageWhichId ); + const EditTextObject* pLeftArea(pPageItem->GetLeftArea()); + if (pLeftArea) + { + aEditEngine.SetText(*pLeftArea); + AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); + } + const EditTextObject* pCenterArea(pPageItem->GetCenterArea()); + if (pCenterArea) + { + aEditEngine.SetText(*pCenterArea); + AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); + } + const EditTextObject* pRightArea(pPageItem->GetRightArea()); + if (pRightArea) { - const ScPageHFItem* pPageItem = static_cast<const ScPageHFItem*>(pItem); - const EditTextObject* pLeftArea(pPageItem->GetLeftArea()); - if (pLeftArea) - { - aEditEngine.SetText(*pLeftArea); - AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); - } - const EditTextObject* pCenterArea(pPageItem->GetCenterArea()); - if (pCenterArea) - { - aEditEngine.SetText(*pCenterArea); - AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); - } - const EditTextObject* pRightArea(pPageItem->GetRightArea()); - if (pRightArea) - { - aEditEngine.SetText(*pRightArea); - AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); - } + aEditEngine.SetText(*pRightArea); + AddFontItems(aEditWhichIds, 3, mpEditEnginePool.get(), false); } }
