From 28deec717c40e04c41f66b094fe2c1e969241525 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Thu, 8 Jan 2015 00:08:35 +0100 Subject: Fix user data pointer setting on x86_64 platform on windows Using 0 as index offset to set user data in window handle, is failing on x64 platform with: ERROR_INVALID_INDEX 1413 (0x585) To find it out GetLastError() can be used: SetLastError(0); LONG_PTR salFrameBack = SetWindowLongPtrW(hWnd, 0, (LONG_PTR)pFrame); DWORD status = GetLastError(); Switching to documented GWLP_USERDATA instead, solved the problem. Change-Id: I496ed2915e44309eaaaa4b576dca30b0051bdbfd Reviewed-on: https://gerrit.libreoffice.org/13807 Reviewed-by: David Ostrovsky Tested-by: David Ostrovsky --- vcl/inc/win/saldata.hxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vcl/inc') diff --git a/vcl/inc/win/saldata.hxx b/vcl/inc/win/saldata.hxx index c850c7eb799a..8151c143d08a 100644 --- a/vcl/inc/win/saldata.hxx +++ b/vcl/inc/win/saldata.hxx @@ -200,12 +200,12 @@ OUString ImplSalGetUniString(const sal_Char* pStr, sal_Int32 nLen = -1); int ImplSalWICompareAscii( const wchar_t* pStr1, const char* pStr2 ); #define SAL_FRAME_WNDEXTRA sizeof( DWORD ) -#define SAL_FRAME_THIS 0 +#define SAL_FRAME_THIS GWLP_USERDATA #define SAL_FRAME_CLASSNAMEW L"SALFRAME" #define SAL_SUBFRAME_CLASSNAMEW L"SALSUBFRAME" #define SAL_TMPSUBFRAME_CLASSNAMEW L"SALTMPSUBFRAME" #define SAL_OBJECT_WNDEXTRA sizeof( DWORD ) -#define SAL_OBJECT_THIS 0 +#define SAL_OBJECT_THIS GWLP_USERDATA #define SAL_OBJECT_CLASSNAMEA "SALOBJECT" #define SAL_OBJECT_CHILDCLASSNAMEA "SALOBJECTCHILD" #define SAL_COM_CLASSNAMEW L"SALCOMWND" -- cgit