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);
             }
         }
 

Reply via email to