Kaydet (Commit) f7c4c631 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

SvxAccessibleTextIndex::mnEEIndex need not be bounded sal_uInt16

It was originally introduced with type USHORT
(a909acb7 "#98735# Refactored
unoedit/unoedacc.cxx"), then shortly after changed to sal_Int32
(a0089a21 "#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 3cbfcee3
"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/48766Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst c67b4906
......@@ -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");
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment