sw/source/core/access/accpara.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 5251f4a13ad950e40d97ff24be23f11fb64bccd0 Author: Michael Stahl <[email protected]> AuthorDate: Thu Nov 27 20:34:38 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Fri Nov 28 12:36:43 2025 +0100 tdf#167362 sw: fix footnote hang with JAWS When moving the cursor to a line with a footnote, JAWS tries to retrieve the text attributes, gets an E_FAIL, but never gives up trying again. The problem is that some entirely undocumented magic number is stuffed into an uno::Any as `long` but the "CharEscapement" property is actually `short` and thus reading the property in AccessibleTextAttributeHelper::ConvertUnoToIAccessible2TextAttributes() throws and this is caught by CAccTextBase::get_attributes() and E_FAIL is returned. > vcllo.dll!o3tl::doAccess<short>(const com::sun::star::uno::Any & any) Line 284 vcllo.dll!AccessibleTextAttributeHelper::ConvertUnoToIAccessible2TextAttributes(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rUnoAttributes, IA2AttributeType eAttributeType) Line 271 vcllo.dll!AccessibleTextAttributeHelper::GetIAccessible2TextAttributes(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleText> xText, IA2AttributeType eAttributeType, long nOffset, long & rStartOffset, long & rEndOffset) Line 346 UAccCOM.dll!CAccTextBase::get_attributes(long offset, long * startOffset, long * endOffset, wchar_t * * textAttributes) Line 145 UAccCOM.dll!CAccText::get_attributes(long offset, long * startOffset, long * endOffset, wchar_t * * textAttributes) Line 54 FSDomNodeSymphony.dll!00007ff93f0fea12() ^ JAWS Change-Id: I6c487f9d2db462b787034df3d5ba2f2822d14746 (cherry picked from commit 776662481583935ca148930de1e91ea499c53b3a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194737 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Jenkins (cherry picked from commit e3a9530f294f9c978a46da43a4a1420644158984) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194756 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx index d3de1b308f7f..0066c98f7c69 100644 --- a/sw/source/core/access/accpara.cxx +++ b/sw/source/core/access/accpara.cxx @@ -1836,7 +1836,7 @@ void SwAccessibleParagraph::_correctValues( const sal_Int32 nIndex, { if ( GetPortionData().IsIndexInFootnode(nIndex) ) { - rValue.Value <<= sal_Int32(101); + rValue.Value <<= sal_Int16(101); } continue; }
