Pass the correct instance when installing the mouse hook (spotted by
Lionel Ulmer).
This commit is contained in:
parent
74c3eab255
commit
6ed40bb2af
|
@ -50,11 +50,14 @@ static ICOM_VTABLE(IDirectInput8A) ddi8avt;
|
||||||
static dinput_device * dinput_devices[MAX_WINE_DINPUT_DEVICES];
|
static dinput_device * dinput_devices[MAX_WINE_DINPUT_DEVICES];
|
||||||
static int nrof_dinput_devices = 0;
|
static int nrof_dinput_devices = 0;
|
||||||
|
|
||||||
|
HINSTANCE DINPUT_instance = NULL;
|
||||||
|
|
||||||
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserv)
|
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserv)
|
||||||
{
|
{
|
||||||
switch(reason)
|
switch(reason)
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
|
DINPUT_instance = inst;
|
||||||
keyboard_hook = SetWindowsHookExW( WH_KEYBOARD_LL, KeyboardCallback, inst, 0 );
|
keyboard_hook = SetWindowsHookExW( WH_KEYBOARD_LL, KeyboardCallback, inst, 0 );
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
|
|
|
@ -46,4 +46,6 @@ HHOOK keyboard_hook;
|
||||||
|
|
||||||
LRESULT CALLBACK KeyboardCallback( int code, WPARAM wparam, LPARAM lparam );
|
LRESULT CALLBACK KeyboardCallback( int code, WPARAM wparam, LPARAM lparam );
|
||||||
|
|
||||||
|
extern HINSTANCE DINPUT_instance;
|
||||||
|
|
||||||
#endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */
|
#endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */
|
||||||
|
|
|
@ -527,7 +527,7 @@ static HRESULT WINAPI SysMouseAImpl_Acquire(LPDIRECTINPUTDEVICE8A iface)
|
||||||
/* Install our mouse hook */
|
/* Install our mouse hook */
|
||||||
if (This->dwCoopLevel & DISCL_EXCLUSIVE)
|
if (This->dwCoopLevel & DISCL_EXCLUSIVE)
|
||||||
ShowCursor(FALSE); /* hide cursor */
|
ShowCursor(FALSE); /* hide cursor */
|
||||||
This->hook = SetWindowsHookExW( WH_MOUSE_LL, dinput_mouse_hook, 0, 0 );
|
This->hook = SetWindowsHookExA( WH_MOUSE_LL, dinput_mouse_hook, DINPUT_instance, 0 );
|
||||||
|
|
||||||
/* Get the window dimension and find the center */
|
/* Get the window dimension and find the center */
|
||||||
GetWindowRect(This->win, &rect);
|
GetWindowRect(This->win, &rect);
|
||||||
|
|
Loading…
Reference in New Issue