Kaydet (Commit) 28deec71 authored tarafından David Ostrovsky's avatar David Ostrovsky

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/13807Reviewed-by: 's avatarDavid Ostrovsky <david@ostrovsky.org>
Tested-by: 's avatarDavid Ostrovsky <david@ostrovsky.org>
üst 10d67638
......@@ -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"
......
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