diff options
author | Ilhan Yesil <ilhanyesil@gmx.de> | 2018-07-30 11:56:22 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2018-09-03 14:14:40 +0200 |
commit | c0445201e035f2042187de806a3558da72b0c624 (patch) | |
tree | 8031ad1dd17b2a9603430e5d159bd45e85b5ea12 | |
parent | ab76e2b684affb78bc5fe9e5b1ae8a86f56e08cc (diff) |
tdf#118994 JAWS has no access to accessibility objects
According to the MSDN, lParam must be cast to DWORD when examining
WM_GETOBJECT messages on 64-bit Windows. The MSDN example also
casts wParam, so in this solution, lParam and wParam are cast to
the appropriate types sal_Int32 and sal_uInt32.
Change-Id: I1edc00778c7da91d2baf5784e4c3f8c441e42eab
Reviewed-on: https://gerrit.libreoffice.org/58312
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 200fafc341c9ac5cedb0e3e8a38fcc4e88fce77c)
Reviewed-on: https://gerrit.libreoffice.org/59935
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r-- | vcl/win/window/salframe.cxx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index b6865e83cb3e..7aeec51d8cac 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -5290,12 +5290,15 @@ ImplHandleGetObject(HWND hWnd, LPARAM lParam, WPARAM wParam, LRESULT & nRet) uno::Reference< accessibility::XMSAAService > xMSAA( pSVData->mxAccessBridge, uno::UNO_QUERY ); if ( xMSAA.is() ) { + sal_Int32 lParam32 = (sal_Int32)lParam; + sal_uInt32 wParam32 = (sal_uInt32)wParam; + // mhOnSetTitleWnd not set to reasonable value anywhere... - if ( lParam == OBJID_CLIENT ) + if ( lParam32 == OBJID_CLIENT ) { nRet = xMSAA->getAccObjectPtr( - reinterpret_cast<sal_Int64>(hWnd), lParam, wParam); - if( nRet != 0 ) + reinterpret_cast<sal_Int64>(hWnd), lParam32, wParam32); + if (nRet != 0) return true; } } |