Kaydet (Commit) 4757ed43 authored tarafından Michael Stahl's avatar Michael Stahl

winaccessibility: XMSAAService could only work on 32-bit

... so replace all long with hyper to fit in 64-bit pointers.

Change-Id: Ia5c044e8d7cc8c4e55f1ef8c0fb0f91bb9a69e1c
üst 3e1c7d12
......@@ -39,9 +39,9 @@ interface XMSAAService : ::com::sun::star::uno::XInterface
@see AccessibleContext
*/
long getAccObjectPtr ([in] long hWnd, [in] long lParam, [in] long wParam);
hyper getAccObjectPtr([in] hyper hWnd, [in] hyper lParam, [in] hyper wParam);
void handleWindowOpened ([in] long i);
void handleWindowOpened([in] hyper i);
};
}; }; }; };
......
......@@ -103,7 +103,7 @@ public:
sal_Bool NotifyAccEvent( com::sun::star::accessibility::XAccessible* pXAcc,short state = 0 );
long Get_ToATInterface( HWND hWnd, long lParam, long wParam);
LPARAM Get_ToATInterface(HWND hWnd, long lParam, WPARAM wParam);
void DecreaseState( com::sun::star::accessibility::XAccessible* pXAcc,unsigned short pState );
void IncreaseState( com::sun::star::accessibility::XAccessible* pXAcc,unsigned short pState );
......
......@@ -21,8 +21,8 @@
#define __G_MSACC_HXX
extern void FreeTopWindowListener();
extern void handleWindowOpened_impl( long pAcc );
extern long GetMSComPtr( long hWnd, long lParam, long wParam );
extern void handleWindowOpened_impl(sal_Int64 pAcc);
extern sal_Int64 GetMSComPtr(sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam);
extern AccTopWindowListener* g_pTop;
......
......@@ -63,11 +63,12 @@ AccObjectWinManager* AccObjectWinManager::me = NULL;
* @param
* @return Com interface.
*/
long GetMSComPtr(long hWnd, long lParam, long wParam)
sal_Int64 GetMSComPtr(sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam)
{
if( g_acc_manager )
return (long)g_acc_manager->Get_ToATInterface(HWND((void*)hWnd),lParam,wParam );
return NULL;
if (!g_acc_manager)
return 0;
return static_cast<sal_Int64>(g_acc_manager->Get_ToATInterface(
static_cast<HWND>(reinterpret_cast<void*>(hWnd)), lParam, wParam));
}
/**
......@@ -132,7 +133,8 @@ AccObjectWinManager::~AccObjectWinManager()
* @return Com interface with event.
*/
long AccObjectWinManager::Get_ToATInterface( HWND hWnd, long lParam, long wParam)
LRESULT
AccObjectWinManager::Get_ToATInterface(HWND hWnd, long lParam, WPARAM wParam)
{
IMAccessible* pRetIMAcc = NULL;
......@@ -150,7 +152,7 @@ long AccObjectWinManager::Get_ToATInterface( HWND hWnd, long lParam, long wParam
if ( pRetIMAcc && lParam == OBJID_CLIENT )
{
IAccessible* pTemp = dynamic_cast<IAccessible*>( pRetIMAcc );
HRESULT result = LresultFromObject(IID_IAccessible, wParam, pTemp);
LRESULT result = LresultFromObject(IID_IAccessible, wParam, pTemp);
pTemp->Release();
return result;
}
......
......@@ -59,10 +59,12 @@ void FreeTopWindowListener()
/**
* As a global method to invoke the handleWindowOpened() method
*/
void handleWindowOpened_impl(long pAcc)
void handleWindowOpened_impl(sal_Int64 pAcc)
{
if( g_pTop && pAcc != 0 )
g_pTop->HandleWindowOpened( (com::sun::star::accessibility::XAccessible*)((void*)pAcc) );
g_pTop->HandleWindowOpened(
static_cast<com::sun::star::accessibility::XAccessible*>(
reinterpret_cast<void*>(pAcc)));
}
/**
......
......@@ -80,8 +80,9 @@ public:
virtual void SAL_CALL removeEventListener( const ::css::uno::Reference< ::css::lang::XEventListener >& ) { /* dummy */ }
// XMSAAService
virtual sal_Int32 SAL_CALL getAccObjectPtr (long hWnd, long lParam, long wParam);
virtual void SAL_CALL handleWindowOpened(sal_Int32);
virtual sal_Int64 SAL_CALL getAccObjectPtr(
sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam);
virtual void SAL_CALL handleWindowOpened(sal_Int64);
// XServiceInfo
virtual OUString SAL_CALL getImplementationName();
......@@ -112,7 +113,9 @@ void MSAAServiceImpl::initialize( Sequence< Any > const & args ) throw (Exceptio
* @param
* @return Com interface.
*/
sal_Int32 MSAAServiceImpl::getAccObjectPtr ( long hWnd, long lParam, long wParam) throw (RuntimeException)
sal_Int64 MSAAServiceImpl::getAccObjectPtr(
sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam)
throw (RuntimeException)
{
SolarMutexGuard g;
......@@ -125,7 +128,7 @@ sal_Int32 MSAAServiceImpl::getAccObjectPtr ( long hWnd, long lParam, long wParam
* @param
* @return
*/
void MSAAServiceImpl::handleWindowOpened( sal_Int32 nAcc)
void MSAAServiceImpl::handleWindowOpened(sal_Int64 nAcc)
{
SolarMutexGuard g;
......
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