editeng/source/uno/unoedprx.cxx |   16 ++++++++--------
 include/editeng/unoedprx.hxx    |    2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit f7c4c6313dbe305d9dd2f7a0c49f436033bbf62e
Author: Stephan Bergmann <[email protected]>
Date:   Sun Jan 28 10:31:00 2018 +0100

    SvxAccessibleTextIndex::mnEEIndex need not be bounded sal_uInt16
    
    It was originally introduced with type USHORT
    (a909acb7009acadffa53e74ea05ddb88803490f1 "#98735# Refactored
    unoedit/unoedacc.cxx"), then shortly after changed to sal_Int32
    (a0089a21f047ce8b5378b45f1535269e3600d681 "#98735# Fixed various off-by-one
    mistakes"), presumably because it needed to hold values slightly larger than
    USHRT_MAX.
    
    But at least since the surrounding code has been changed to use sal_Int32
    throughout (e.g., structs like EPosition and ESeleciton in
    include/editeng/editdata.hxx with 3cbfcee36dd16e451d76c561eaaaee0ff29b01a5
    "xub_StrLen and tools/string.hxx final straw"), there appears to be no more
    reason to effectively restrict mnEEIndex to sal_uInt16 values.
    
    Change-Id: I78f02be1f2736a626a836ac992230a74cc669fd3
    Reviewed-on: https://gerrit.libreoffice.org/48766
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Stephan Bergmann <[email protected]>

diff --git a/editeng/source/uno/unoedprx.cxx b/editeng/source/uno/unoedprx.cxx
index d49032f00423..24f95f6c03f8 100644
--- a/editeng/source/uno/unoedprx.cxx
+++ b/editeng/source/uno/unoedprx.cxx
@@ -89,9 +89,9 @@ public:
         @param rTF
         The text forwarder to use in the calculations
      */
-    void SetEEIndex( sal_uInt16 nEEIndex, const SvxTextForwarder& rTF );
-    void SetEEIndex( sal_Int32 nPara, sal_uInt16 nEEIndex, const 
SvxTextForwarder& rTF ) { SetParagraph(nPara); SetEEIndex(nEEIndex, rTF); }
-    sal_uInt16 GetEEIndex() const;
+    void SetEEIndex( sal_Int32 nEEIndex, const SvxTextForwarder& rTF );
+    void SetEEIndex( sal_Int32 nPara, sal_Int32 nEEIndex, const 
SvxTextForwarder& rTF ) { SetParagraph(nPara); SetEEIndex(nEEIndex, rTF); }
+    sal_Int32 GetEEIndex() const;
 
     void SetFieldOffset( sal_Int32 nOffset, sal_Int32 nLen ) { mnFieldOffset = 
nOffset; mnFieldLen = nLen; }
     sal_Int32 GetFieldOffset() const { return mnFieldOffset; }
@@ -158,15 +158,15 @@ ESelection MakeEESelection( const SvxAccessibleTextIndex& 
rIndex )
                        rIndex.GetParagraph(), rIndex.GetEEIndex() + 1 );
 }
 
-sal_uInt16 SvxAccessibleTextIndex::GetEEIndex() const
+sal_Int32 SvxAccessibleTextIndex::GetEEIndex() const
 {
-    DBG_ASSERT(mnEEIndex >= 0 && mnEEIndex <= USHRT_MAX,
+    DBG_ASSERT(mnEEIndex >= 0,
                "SvxAccessibleTextIndex::GetEEIndex: index value overflow");
 
-    return static_cast< sal_uInt16 > (mnEEIndex);
+    return mnEEIndex;
 }
 
-void SvxAccessibleTextIndex::SetEEIndex( sal_uInt16 nEEIndex, const 
SvxTextForwarder& rTF )
+void SvxAccessibleTextIndex::SetEEIndex( sal_Int32 nEEIndex, const 
SvxTextForwarder& rTF )
 {
     // reset
     mnFieldOffset = 0;
@@ -632,7 +632,7 @@ void SvxAccessibleTextAdapter::FieldClicked( const 
SvxFieldItem& rField, sal_Int
     mpTextForwarder->FieldClicked( rField, nPara, nPos );
 }
 
-sal_uInt16 SvxAccessibleTextAdapter::CalcEditEngineIndex( sal_Int32 nPara, 
sal_Int32 nLogicalIndex )
+sal_Int32 SvxAccessibleTextAdapter::CalcEditEngineIndex( sal_Int32 nPara, 
sal_Int32 nLogicalIndex )
 {
     assert(mpTextForwarder && "SvxAccessibleTextAdapter: no forwarder");
 
diff --git a/include/editeng/unoedprx.hxx b/include/editeng/unoedprx.hxx
index 39bc5f163b6d..559c0390294e 100644
--- a/include/editeng/unoedprx.hxx
+++ b/include/editeng/unoedprx.hxx
@@ -42,7 +42,7 @@ public:
     virtual void            RemoveAttribs( const ESelection& rSelection ) 
override;
     virtual void            GetPortions( sal_Int32 nPara, 
std::vector<sal_Int32>& rList ) const override;
 
-    sal_uInt16              CalcEditEngineIndex( sal_Int32 nPara, sal_Int32 
nLogicalIndex );
+    sal_Int32               CalcEditEngineIndex( sal_Int32 nPara, sal_Int32 
nLogicalIndex );
 
     virtual SfxItemState    GetItemState( const ESelection& rSel, sal_uInt16 
nWhich ) const override;
     virtual SfxItemState    GetItemState( sal_Int32 nPara, sal_uInt16 nWhich ) 
const override;
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to