tdf#154303 wina11y: Don't truncate 64-bit states

commit 8d8e6c84e5
    Date:   Sun Jul 3 20:29:28 2022 +0200

        [API CHANGE] Drop css::accessibility::XAccessibleStateSet

had introduced the use of a 64-bit integer with
bit flags for the accessible states.

However, `AccObjectWinManager::DecreaseState` and
`AccObjectWinManager::IncreaseState` were still using
unsigned short, resulting in truncation.

As one result, the `AccessibleEventId::STATE_CHANGED`
event with state `AccessibleStateType::VISIBLE`
from `OAccessibleMenuBaseComponent::SetVisible` would no
longer result in the `STATE_SYSTEM_INVISIBLE` being unset
and thus the the JAWS screen reader would no longer announce
the focused (but considered invisible) menu item.

Fix this by switching the param for those two methods to
sal_Int64 as well.

Change-Id: I714573e2691e82c6287a4b83f872f87568e46495
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149255
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
Michael Weghorn 2023-03-21 19:32:11 +01:00
parent 949c73f9c3
commit 02edbf7dc7
2 changed files with 6 additions and 6 deletions

View file

@ -102,8 +102,8 @@ public:
LRESULT Get_ToATInterface(HWND hWnd, long lParam, WPARAM wParam);
void DecreaseState( css::accessibility::XAccessible* pXAcc,unsigned short pState );
void IncreaseState( css::accessibility::XAccessible* pXAcc,unsigned short pState );
void DecreaseState(css::accessibility::XAccessible* pXAcc, sal_Int64 nState);
void IncreaseState(css::accessibility::XAccessible* pXAcc, sal_Int64 nState);
void UpdateState( css::accessibility::XAccessible* pXAcc );
void SetValue( css::accessibility::XAccessible* pXAcc, css::uno::Any pAny );

View file

@ -796,11 +796,11 @@ AccObjectWinManager::CreateAccEventListener(XAccessible* pXAcc)
* @param pState Changed state.
* @return
*/
void AccObjectWinManager::DecreaseState( XAccessible* pXAcc,unsigned short pState )
void AccObjectWinManager::DecreaseState(XAccessible* pXAcc, sal_Int64 nState)
{
AccObject* pAccObj = GetAccObjByXAcc( pXAcc );
if( pAccObj )
pAccObj->DecreaseState( pState );
pAccObj->DecreaseState(nState);
}
/**
@ -811,11 +811,11 @@ void AccObjectWinManager::DecreaseState( XAccessible* pXAcc,unsigned short pStat
* @param pState Changed state.
* @return
*/
void AccObjectWinManager::IncreaseState( XAccessible* pXAcc,unsigned short pState )
void AccObjectWinManager::IncreaseState(XAccessible* pXAcc, sal_Int64 nState)
{
AccObject* pAccObj = GetAccObjByXAcc( pXAcc );
if( pAccObj )
pAccObj->IncreaseState( pState );
pAccObj->IncreaseState(nState);
}
void AccObjectWinManager::UpdateState( css::accessibility::XAccessible* pXAcc )