include/svx/xflboxy.hxx       |    8 ++++----
 svl/source/items/poolitem.cxx |    4 ++--
 svx/source/xoutdev/xattr2.cxx |   10 ++++------
 3 files changed, 10 insertions(+), 12 deletions(-)

New commits:
commit 367ba88092fbc0ba06a7f77157cd012ff0fe3caf
Author:     Caolán McNamara <[email protected]>
AuthorDate: Tue Jun 4 09:48:57 2024 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Wed Jun 5 16:56:55 2024 +0200

    Related: tdf#153008 bump XFillBmpPosOffsetXItem to sal_Int32
    
    and XFillBmpPosOffsetYItem. To avoid sal_uInt16 overflows on large input
    values.
    
    Lets use sal_Int32 instead of sal_uInt32 given the amount of existing
    casting to sal_Int32 of XFillBmpPosOffset[X|Y]Item::GetValue()
    
    Change-Id: I8329c11b75c9ad01011e10130257963737ffe553
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168398
    Reviewed-by: Caolán McNamara <[email protected]>
    Reviewed-by: Attila Szűcs <[email protected]>
    Tested-by: Jenkins

diff --git a/include/svx/xflboxy.hxx b/include/svx/xflboxy.hxx
index 54d354b52268..acc8fb7fdea7 100644
--- a/include/svx/xflboxy.hxx
+++ b/include/svx/xflboxy.hxx
@@ -23,10 +23,10 @@
 #include <svl/intitem.hxx>
 #include <svx/svxdllapi.h>
 
-class SVXCORE_DLLPUBLIC XFillBmpPosOffsetXItem final : public SfxUInt16Item
+class SVXCORE_DLLPUBLIC XFillBmpPosOffsetXItem final : public SfxInt32Item
 {
 public:
-                            XFillBmpPosOffsetXItem( sal_uInt16 nOffPosX = 0 );
+                            XFillBmpPosOffsetXItem( sal_Int32 nOffPosX = 0 );
 
     SVX_DLLPRIVATE virtual XFillBmpPosOffsetXItem* Clone( SfxItemPool* pPool = 
nullptr ) const override;
 
@@ -36,10 +36,10 @@ public:
                                                  OUString &rText, const 
IntlWrapper& ) const override;
 };
 
-class SVXCORE_DLLPUBLIC XFillBmpPosOffsetYItem final : public SfxUInt16Item
+class SVXCORE_DLLPUBLIC XFillBmpPosOffsetYItem final : public SfxInt32Item
 {
 public:
-                            XFillBmpPosOffsetYItem( sal_uInt16 nOffPosY = 0 );
+                            XFillBmpPosOffsetYItem( sal_Int32 nOffPosY = 0 );
 
     SVX_DLLPRIVATE virtual XFillBmpPosOffsetYItem* Clone( SfxItemPool* pPool = 
nullptr ) const override;
 
diff --git a/svl/source/items/poolitem.cxx b/svl/source/items/poolitem.cxx
index de207ef9db25..bd4b62cb1419 100644
--- a/svl/source/items/poolitem.cxx
+++ b/svl/source/items/poolitem.cxx
@@ -161,8 +161,8 @@
 //        class Svx3DShadeModeItem : public SfxUInt16Item
 //        class SdrEdgeLineDeltaCountItem: public SfxUInt16Item
 //        class SvxViewLayoutItem: public SfxUInt16Item
-//        class XFillBmpPosOffsetXItem : public SfxUInt16Item
-//        class XFillBmpPosOffsetYItem : public SfxUInt16Item
+//        class XFillBmpPosOffsetXItem : public SfxInt32Item
+//        class XFillBmpPosOffsetYItem : public SfxInt32Item
 //        class XFillBmpTileOffsetXItem : public SfxUInt16Item
 //        class XFillBmpTileOffsetYItem : public SfxUInt16Item
 //        class XFillTransparenceItem: public SfxUInt16Item
diff --git a/svx/source/xoutdev/xattr2.cxx b/svx/source/xoutdev/xattr2.cxx
index ad1b3b2959e5..7e82a1f0b950 100644
--- a/svx/source/xoutdev/xattr2.cxx
+++ b/svx/source/xoutdev/xattr2.cxx
@@ -631,9 +631,8 @@ void XFillBmpStretchItem::dumpAsXml(xmlTextWriterPtr 
pWriter) const
     (void)xmlTextWriterEndElement(pWriter);
 }
 
-
-XFillBmpPosOffsetXItem::XFillBmpPosOffsetXItem( sal_uInt16 nOffPosX ) :
-            SfxUInt16Item( XATTR_FILLBMP_POSOFFSETX, nOffPosX )
+XFillBmpPosOffsetXItem::XFillBmpPosOffsetXItem(sal_Int32 nOffPosX)
+    : SfxInt32Item(XATTR_FILLBMP_POSOFFSETX, nOffPosX)
 {
 }
 
@@ -654,9 +653,8 @@ bool XFillBmpPosOffsetXItem::GetPresentation
     return true;
 }
 
-
-XFillBmpPosOffsetYItem::XFillBmpPosOffsetYItem( sal_uInt16 nOffPosY ) :
-            SfxUInt16Item( XATTR_FILLBMP_POSOFFSETY, nOffPosY )
+XFillBmpPosOffsetYItem::XFillBmpPosOffsetYItem(sal_Int32 nOffPosY)
+    : SfxInt32Item(XATTR_FILLBMP_POSOFFSETY, nOffPosY)
 {
 }
 

Reply via email to