From f08d0142afbcb45c12604988022bb3da18be1d84 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 18 Nov 2015 17:01:13 +0100 Subject: Fix css.awt.XSystemDependentMenuPeer.getMenuHandle ...to return an ANY containing a 64-bit HYPER instead of a 32-bit LONG for SYSTEM_WIN32 (which covers both 32-bit and 64-bit versions of Windows), so that the HMENU value (which is effectively a void*) is not truncated for the 64-bit build. This should effectively be URE ABI compatible for the 32-bit build, as there the HYPER value will fit into 32 bits, so extracting a LONG from the ANY should still work. Change-Id: Ief3de5924f672e8f6bbe6df08c15439456ca036f Reviewed-on: https://gerrit.libreoffice.org/20045 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- framework/source/uielement/menubarmanager.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'framework') diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx index 3f44ebeeb7e7..5f2b85a10e31 100644 --- a/framework/source/uielement/menubarmanager.cxx +++ b/framework/source/uielement/menubarmanager.cxx @@ -210,7 +210,8 @@ Any SAL_CALL MenuBarManager::getMenuHandle( const Sequence< sal_Int8 >& /*Proces #ifdef _WIN32 if( SystemType == SystemDependent::SYSTEM_WIN32 ) { - a <<= (long) aSystemMenuData.hMenu; + a <<= sal_Int64( + reinterpret_cast(aSystemMenuData.hMenu)); } #else (void) SystemType; -- cgit