From c0445201e035f2042187de806a3558da72b0c624 Mon Sep 17 00:00:00 2001 From: Ilhan Yesil Date: Mon, 30 Jul 2018 11:56:22 +0200 Subject: 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 Reviewed-by: Andras Timar Tested-by: Andras Timar (cherry picked from commit 200fafc341c9ac5cedb0e3e8a38fcc4e88fce77c) Reviewed-on: https://gerrit.libreoffice.org/59935 Reviewed-by: Thorsten Behrens Tested-by: Thorsten Behrens --- vcl/win/window/salframe.cxx | 9 ++++++--- 1 file 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(hWnd), lParam, wParam); - if( nRet != 0 ) + reinterpret_cast(hWnd), lParam32, wParam32); + if (nRet != 0) return true; } } -- cgit